Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Как в UE4 подключать библиотеки?

Как в UE4 подключать библиотеки?

dmitrykozyrПостоялецwww19 фев. 201811:16#0
Я сейчас учусь программировать под UE4 по видеоурокам. Посмотрел много уроков и везде замечал одну странность.
Они не подключают никакие библиотеки. То есть у меня для использования
Mesh
должна быть подключена библиотека
Components/StaticMeshComponent.h
, а видеоуроках ее не подключают.
И так с разными бибиотеками. У меня все время выдает ошибку, что нельзя использовать неполный тип и все время приходится гуглить, какую библиотеку нужно подключить.
Почему в видеоуроках их не подключают и у них ошибки не выдает?

Изображение

FireFenixПостоялецwww19 фев. 201811:40#1
>Почему в видеоуроках их не подключают и у них ошибки не выдает?
или подключают в другом месте
или подключают цепочку хидеров, где одно из звеньев - StaticMeshComponent.h

обычное UE требует, что бы во все cpp был подключен первый один общий хидер -> можно в него вынести инклюды.

Правка: 19 фев. 2018 11:41

zlosУдалёнwww19 фев. 201811:43#2
Лучше будет прочитать книжку по C++.
dmitrykozyrПостоялецwww19 фев. 201812:07#3
FireFenix
А есть какие-то правила, в каком порядке подключать?
Я знаю, что generated.h должен быть последним
ykasczcПостоялецwww21 фев. 201821:56#4
dmitrykozyr
generated.h находится в заголовочном файле, в нем делать включения стоит по минимуму - только родительские классы и интерфейсы, а также, если необходимо, файлы с объявлениями используемых структур и enum-ов. Для остального делать неполное объявление словом class.
В cpp-файле на первом месте включение соответствующего ему заголовочного файла. Затем все остальное, что требуется, в любом порядке.

Пример.

Dummy.h
---
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Dummy.generated.h"

class USkeletalMeshComponent;

UCLASS()
class MODULENAME_API ADummy : public AActor
{
ADummy ();

UPROPERTY()
class UArrowComponent* Arrow;

UPROPERTY()
USkeletalMeshComponent* Mesh;

UFUNCTION()
void Foo(USkeletalMeshComponent* Mesh2, USkeletalMeshComponent* Mesh3);
}

---
Dummy.cpp
---
#include "Dummy.h"
#include "Components/ArrowComponent.h"
#include "Components/SkeletalMeshComopnent.h"

...

dmitrykozyrПостоялецwww21 фев. 201822:51#5
ykasczc
Спасибо
ZabПостоялецwww22 фев. 201810:56#6
dmitrykozyr
Ты что же, изучаешь UE4, толком не зная С++? И что с ним делать намерен? С++ ошибок не прощает, взорвется все, даже не поймешь где и почему, если каждый свой шаг просчитать не в состоянии.
Или все таки знаешь более-менее?
dmitrykozyrПостоялецwww22 фев. 201812:11#7
Zab
Более-менее

/ Форум / Программирование игр / Общее

2001—2018 © GameDev.ru — Разработка игр