Войти
Urho3DФорумЗАДАВАЙТЕ ВОПРОСЫ

Как создать с нуля свой проект в Urho3D и CodeBlocks?

#0
12:07, 26 июля 2017

Решил вот изучить сей движок, т.к. показался он довольно интересным. И сразу же получил огромную проблему: ни одного, ни единого урока в сети, как создать в нем хоть какой-нибудь Hello World!
Все туториалы заканчиваются на том, как собственно собрать движок через CMake, и все. Движок-то я собрал для CodeBlocks, примеры скомпилировались, все работает. Но, при попытке создать пустой проект и вставить туда файлики из примера HelloWorld, начинается неведомая магия.

Сначала CodeBlocks ругается на отсутствующие файлы типа <Urho3D/Core/CoreEvents.h> и прочие. Нашел все файлы в папке Source\Urho3D, подключил ее через Project->Build options->Search directories. Нажал кнопку Add и указал путь к этой папке. Теперь выдает ошибку:

Soft\wxWidgets\urho3dSample\s2\main.cpp -o obj\Debug\main.cpp.o    ||    No such file or directory  |

Пробовал разобраться в сгенерированном проекте Urho3D.cbp, но в него напихано вообще все на свете, что только можно и нельзя. Там вообще никакие директории не подключаются, но тем не менее все работает. Как работает - непонятно. И тем более - я хочу создать простейший проект, чтобы начать изучение, а не тянуть с собой огроменный проект, в котором и редакторы, и примеры, и еще куча всего включена.

Как создать простейший проект с нуля? Подскажите,пожалуйста.


#1
12:14, 26 июля 2017

Теоретически можно на скриптах писать вроде lua или angel script. Тогда просто нужен бинарник плейера и вперёд.

Про плюсы не знаю. На UrhoSharp можно шаблоны поставить в визуалку и там создавать новый проект.

#2
12:28, 26 июля 2017

Советую для начала разобраться, как собирать проект из консоли, потом уже прикручивать сборку к IDE (я ни разу не работал с CodeBlocks, но практически уверен, что там можно подключать кастомные шаги компиляции).
Urho3D для сборки использует CMake (не обязательно, но это самый простой вариант), для сборки нужен файл CMakeLists.txt, пример этого файла можно найти здесь: https://urho3d.github.io/documentation/1.6/_using_library.html, там же некоторые пояснения к нему. В принципе, если проект имеет структуру, как в этой доке, и если библиотека установлена правильно, то далее для сборки достаточно сделать cmake . && make

#3
20:44, 26 июля 2017

Если я не путаю, то есть уже готовые сборки статических и динамических библиотек урхи. Что мешает сразу их подключить к своему проекту, а не собирать каждый раз движек заново?

#4
0:39, 27 июля 2017

kostyan29_programer
> простейший проект с нуля
Не забудьте, что в корне проекта (или в Source, например), обязательно должен находиться хотя бы 1 исходник (можно пустой, main.cpp, например). Иначе cmakeGUI не создаст заветный .cbp

#5
0:50, 27 июля 2017

А, забыл.
В случае, если исходник в Source, а не в корне (как в доках), нужно указать в CMakeLists.txt

+ Показать

#6
7:41, 27 июля 2017

kostyan29_programer
Если Вы уже скомпилировали движок (есть папка urho3D), то:
1) Создайте в Code::Blocks, например, базовое консольное приложение (у Вас в проекте будет уже файл main.cpp)
2) Далее перейдите в папку с примерами движка "..\Source\Samples\" из нее перенесите два файла Sample.h и Sample.inl к созданному main.cpp
3) Затем перейдите в папку любого примера, например, "..\Source\Samples\39_CrowdNavigation\" и из нее также перенесите хидер примера CrowdNavigation.h к файлу main.cpp
4) Теперь скопируйте содержимое файла CrowdNavigation.cpp и вставьте его полностью в Ваш main.cpp, полностью заменив уже имеющийся в нем код.
5) В самом Code::Blocks выберите в меню Project->Add files.. и добавьте файлы CrowdNavigation.h, Sample.h и Sample.inl к проекту (теперь в проекте должно быть 4 файла вместе с main.cpp).
6) Теперь перейдите в Project->Build options во вкладке Linker settings в разделе Other linker options впишите "-lUrho3D"
7) Далее во вкладке Search directories в разделе Linker укажите пути "..\urho3D\lib\" и "..\urho3D\" (пути к файлам libUrho3D.dll.a и Urho3D.dll)
8) В разделе Compiler укажите пути "..\urho3D\include\" и для данного примера потребуется путь к SDL "..\Source\ThirdParty\SDL\include\" или же можно скачать вторую версию SDL и указать путь к ней, но для этих примеров в файле inputEvents.h нужно будет поменять все "#include <SDL/" на "#include <SDL2/".
9) Также urho3D по умолчанию требует наличия папок Data и CoreData. Code::Blocks по умолчанию создает ветки Debug и Release. Создайте и скопируйте нужно или просто переместите соответствующие папки с ресурсами для примеров из движка. Например, для начала вполне достаточно перенести в Ваш проект в "..\bin\Debug\" папки "../Data/" и "../CoreData/" из "..\urho3D\"

После этого проект должен скомпилироваться. Остальные примеры можете попробовать по аналогии.

Urho3DФорумЗАДАВАЙТЕ ВОПРОСЫ

Тема в архиве.