После того, как всё собралось и работает, я просто обязан выложить руководство по сборке MyGUI 3.2.0 :)
Скачиваете и разархивируете исходники MyGUI 3.2.0: http://sourceforge.net/projects/my-gui/files/MyGUI/MyGUI_3.2.0/My… .zip/download
Скачиваете и разархивируете в эту папку зависимости: http://sourceforge.net/projects/my-gui/files/MyGUI%20dependencies/ (здесь для Vidual Studio)
Скачиваете последнюю версию FreeType2: http://download.savannah.gnu.org/releases/freetype/
В зависимостях собираете библиотеку OIS (Debug и Release).
Собираете FreeType2 (тоже Debug и Release), файлы *.lib закидываете в папки Dependencies/lib/ (Debug и Release соответственно).
В папку Dependencies/include закидываете содержимое папки freetype2, но никак не вместе с этой папкой - потом при сборке в VC вылезут проблемы (все файлы, которые там уже были, удаляете).
В файле CMakeLists.txt ставите значение переменной MYGUI_RENDERSYSTEM на нужное вам, а значение переменной MYGUI_SAMPLES_INPUT на 1 (OIS), иначе потом при сборке в VC вылезут проблемы.
В файле CMake/Packages/FindFreetype.cmake в значении переменной FREETYPE_INCLUDE_DIR удаляете "freetype/", остаётся только "freetype.h".
Ну вот собственно и всё :) в CMake настраиваете и собираете, если возникнет необходимость, укажите точный путь к папке Dependencies, хотя проблем быть не должно.
Пути доступа к папке Media меняются в файле resources.xml, расположенном в папке со скомпилированными экзешниками.
Вам дополнительно может понадобиться установить doxygen: http://sourceforge.net/projects/doxygen/ и закинуть в папку Dependencies/bin pkg-config со всеми необходимыми библиотеками: http://www.gtk.org/download/win32.php
Удачной сборки ;)
код в студию
Iron Man
> Подскажите, пожалуйста, кто собирал myGUI: что нужно сделать для того, чтобы не вылазила ошибка в месте
написать на форуме, что ты делал
NickGastovski
Сюда код не влезает (это файлы MyGUI_ResourceTrueTypeFont.h и MyGUI_ResourceTrueTypeFont.cpp)
В cpp ругается на mCharMap в месте, где стоит следующий комментарий:
// If no code points have been included, include the Unicode Basic Multilingual Plane by default before processing // any exclusions.
Проблема в том, что где-то задаётся #define MYGUI_USE_FREETYPE (не в исходниках), в CMake я её отключал, но не помогает!
А где в VC могут ещё определяться defin`ы, кроме как в исходниках?
у меня тоже не получалось собрать без freetype'а, там, кажется, какой-то косяк в CMake'е. проще всего просто добавить freetype и всё.
Suslik
> проще всего просто добавить freetype и всё.
А как, не подскажешь?
код на pastebin.com и ссылки сюда
Раз они перешли на cmake значит скорее всего у них есть некий Config файл(он обычно генерится cmake'ом),где содержатся все дефайны.
Или в свойствах проекта(дефайны препроцессора)
Edit:
У меня свой MyGUI,форк от 12 года,тогда кажется еще были студийные проекты
И да,с freetype
NickGastovski
Тогда огрызок кода ничего не даст, проще скачать свежую версию и попробовать собственноручно собрать :)
А вот на это времени у меня нет
NickGastovski
В сборку нужно добавить исходники freetype, вот только куда именно и как их подцепить, я не знаю...
Кажется freetype тоже собирается cmake'ом
посему в главный CMakeFiles.cmake от майгуя добавь add_subdirectory(Deps/Freetype)
Deps это папка внутри майгуя(пока временно так)
Ну или ручками все делай,но тут уже сам
NickGastovski
Создал папку Dependencies/freetype с freetyp`ом внутри, не видит!
То, что спрашивает именно "Dependencies", я взял из CMake, а вот как дальше...
Iron Man
Пишет "Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)" :)
NickGastovski
Всё :) нашёл на Ogre:
Dependencies
You need to have MyGUI's dependencies. The only dependency is FreeType.
GNU/Linux users need to install libfreetype6-dev (and libois-dev if you want to build demos/tools).
Non linux users:
Download MyGUI's dependencies (either from OGRE website(external link) or here (Visual Studio only)(external link) ). (If you have downloaded the OGRE dependencies, you don't need to download any extra MyGUI dependencies.)
Build dependencies before trying to configure MyGUI with CMake. Remember that you need to build both Release and Debug versions.
Тема в архиве.