Как построить OGRE на Windows с помощью Visual Studio? - PullRequest
5 голосов
/ 15 октября 2011

Надеюсь, что это поможет многим людям, которые борются с установкой OGRE на Windows.Я сделал, и я не хочу, чтобы кто-то еще подвергался таким же пыткам.

Я пытался сделать это объяснение другим, объяснив намного больше шагов и деталей, чем объяснено на других сайтах.Проблемы и решения, о которых другие даже не подумали бы о записи.

1 Ответ

18 голосов
/ 15 октября 2011

Обычный способ построить Ogre из источника:

Получите новый самоизвлекающий аппарат Ogre (эти инструкции предназначены для версии 1.7.3 Ogre)
Скачайте и установите CMake
Загрузите и установите DirectX SDK
Создайте папку с именем «OGRE» на диске, который имеет не менее 4,3 ГБ свободного места.
Извлеките источник огров в папку OGRE. Загрузите зависимости Ogre и распакуйте их в папку OGRE. Запустите CMake и выберите Visual Studio 10 в качестве компилятора по умолчанию.
Укажите исходный каталог Ogre. Это папка ogre_src_v1-7-3. Также установите переменную среды OGRE_HOME в Windows на полный путь ogre_src_v1-7-3. (установите его, щелкнув правой кнопкой мыши на моем компьютере, свойства, дополнительные параметры, переменные среды, пользовательские переменные, новые) Укажите каталог для CMake для размещения создаваемых им двоичных файлов. Вы можете создать каталог с именем 'Binaries' в папке OGRE.
Нажмите «настроить» в CMake.
Он покажет много записей с красной подкладкой. Для записи OGRE_DEPENDENCIES_DIR укажите путь к папке зависимостей, которую вы извлекли выше.
Снова нажмите «настроить», и все эти красные линии станут белыми, что означает, что настройка прошла нормально.
Нажмите «создать».
Вот и все с CMake.
Перейдите в папку binaries, и вы увидите OGRE.sln. Дважды щелкните по нему, чтобы открыть его в VS2010.
Либо щелкните правой кнопкой мыши проект «ALL-BUILD» и выполните сборку, либо нажмите клавишу F5 (если вы нажмете F5, то после завершения сборки будет сказано, что она не может быть запущена, что нормально, поскольку вся сборка не предназначена бежать)
Процесс сборки должен занять около 30 минут на двухъядерном ПК с частотой 2 ГГц и 1 ГБ ОЗУ.
Установите проект «Пример браузера» в качестве активного проекта и нажмите F5 для его запуска.
Это оно! Огре настроен в вашей системе.

=============================================== =======

Но если у вас были проблемы со сборкой:

Чтобы избежать множества проблем, убедитесь, что вы получаете исходный код Ogre в виде первичной папки / zip-файла / самораспаковывающегося файла из Интернета, и на вашем компьютере установлен DirectX SDK. Создайте в своей системе папку для Ogre и сохраните там папку с исходным кодом. По завершении исходный код, двоичные файлы и встроенные файлы Ogre будут занимать около 4,3 ГБ дискового пространства.

[Внимание: не устанавливайте Visual Studio 2008 в вашей системе. Если вы это сделали, и если это вызывает проблемы (фатальная ошибка C1902: Несоответствие менеджера программных баз; проверьте вашу установку) при сборке ogre.sln, просто удалите файл mspdb100.dll, если вы собираете с VS2010. (Это не было подтверждено, если проблема действительно в установке VS2008. Это может быть из-за одного шага, написанного в этом самом файле, где mspdb100.dll копируется в папку, где это не должно быть. В случае, если вы ' перестраиваем Ogre с VS2008, и он показывает «фатальную ошибку», а затем удаляет mspdb80.dll)]

Распакуйте источник Ogre в папку в вашей системе. Хорошо иметь путь к каталогу, например:
"your-root \ Ogre \ Binaries \" для двоичных файлов
и
* "your-root \ Ogre \ ogre_src_v1-7-3 \" * для источника

CMake:
Загрузите и установите CMake, который помогает настроить Ogre для установки в вашей системе.
Запустите исполняемый файл CMake.
Выберите «добавить cmake в системный PATH для текущего пользователя».
Найдите место, где был установлен cmake, и запустите \ CMake 2.8 \ bin \ cmake-gui.exe
Укажите каталоги для двоичных файлов и источника.
Установите флажок «Дополнительно» в графическом интерфейсе CMake
Задайте для CMAKE_CXX_COMPILER ваш-Visual-Studio-путь-установки / VC / bin / cl.exe
Задайте для CMAKE_C_COMPILER ваш-Visual-Studio-путь-установки / VC / bin / cl.exe
Установите для CMAKE_RC_COMPILER значение what-path-your-RC.exe-file-is-in / RC.Exe (выполните поиск в папке «Program Files», и вы, вероятно, найдете rc.exe)
Нажмите "настроить", и это может дать ошибку, что он не может найти mspdb100.dll
Скопируйте mspdb100.dll из вашего-Visual-Studio-путь-установки \ Common7 \ IDE и вставьте его в ваш-Visual-Studio-путь-установки \ VC \ bin (не правильный способ сделать это, но хорошо ...; Этот файл вам позже придется удалить, если во время процесса сборки Ogre выдается ошибка типа «несоответствие менеджера программных баз»)
После завершения настройки нажмите «создать», чтобы сгенерировать либо файл ogre.sln, либо файл «.dsw», который при нажатии создаст ваш файл ogre.sln. Более подробная информация ниже.
Примечание: Cmake поддерживает кеш. Чтобы переконфигурировать cmake в любое время, вы должны очистить кеш. В Cmake 2.8 есть опция очистки кэша в меню. Если вы установите cmake 2.6.4, вы сможете очистить кеш с помощью кнопки внизу окна. Как только вы очистите кеш, вы сможете выбрать свой компилятор. Я выбрал VS2006 и не изменил никакой опции для родного компилятора. Просто оставил все как есть.
Примечание 2: Когда я установил Visual C ++ 2006, компиляторы C и C ++ теперь могут скомпилировать тестовый файл cmake, но cmake не может найти определенную dll, которая находится в папке bin ogre_src_v1-7 -3. Он просматривался в папке \ tpcsed.com \ projectshare \ mapex \ OGRE3D, поэтому я скопировал папку bin в папку \ tpcsed.com \ projectshare \ mapex \ OGRE3D. Тогда все прошло нормально.

Если ваша версия Visual Studio не может выполнить описанную выше конфигурацию, вам, возможно, придется установить VS2006, чтобы иметь возможность указать правильные файлы c1.exe и rc.exe. VS2010 c1.exe и rc.exe не работает для меня.

Для компиляции любых зависимостей:
Извлечь OgreDependencies_MSVC_20101231.zip Перейдите к своему корню \ Ogre \ ogre_src_v1-7-3 \ Зависимости \ src Откройте OgreDependencies.VS2010.sln с VS2010 (или файл sln, соответствующий вашему VS) Щелкните правой кнопкой мыши решение и создайте решение для отладки и выпуска (щелкните правой кнопкой мыши решение> свойства> конфигурация> кнопка диспетчера конфигурации> активный список конфигурации решения)

Здание Огре:
Щелкните файл your-root \ Ogre \ ogre_src_v1-7-3 \ bin \ ogre.dsw и убедитесь, что он открывается в используемой версии VS. В моем случае это был VS2010 (если вы использовали VS2006 в CMake, у вас будет файл dsw, который преобразует решение в вашу версию VS)
Будет создан файл ogre.sln. Дважды щелкните по нему.
Щелкните правой кнопкой мыши на проекте ALL_BUILD и выберите Build. Вы должны сделать это и для Release, и для Debug, но для меня этого было достаточно (пока).
Щелкните правой кнопкой мыши проект INSTALL и выберите Build. Вы должны сделать это и для Release, и для Debug, но для меня этого было достаточно (пока).
Либо выполните вышеуказанные 2 шага, либо просто нажмите «Очистить» и создайте все решение.
Если вы обнаружите ошибки, найдите проекты, в которых сборка не удалась, прочитайте ошибки и исправьте их. Все проекты должны быть успешно построены хотя бы для отладки.

Если сборка не удалась, очистите проекты и выполните повторную сборку. Или начните снова с шага cmake.
Если есть ошибки сборки, выясните, почему это происходит, посмотрев на перечисленные ошибки. Это может быть связано с тем, что вы не установили DirectX SDK в своей системе или неправильно указали какой-либо путь в свойствах проектов ogre.sln. Проверьте все значения, чтобы убедиться, что все пути верны.
Это оно!

Необязательные зависимости, такие как TBB, Boost и т. Д. Я не пытался установить. Огр работает без него.

Запуск:
Попробуйте небольшое приложение Ogre. Самый простой способ запустить:

#include <Ogre.h>
//code is from http://blog.tidalware.com/2009/06/ogre-and-visual-studio-beginners-faq/
int main(int argc, char* argv[])
{
    Ogre::Root* root = new Ogre::Root("plugins.cfg", "ogre.cfg", "Ogre.log");
    delete root;
    return 0;
}

Щелкните правой кнопкой мыши по решению, укажите пути к заголовкам, которые вы использовали в своей программе.
В свойствах конфигурации> общие> набор символов укажите его как «Использовать многобайтовый набор символов». Это предотвращает ошибки из-за старого wchar typedef.
При необходимости укажите дополнительные каталоги библиотеки для компоновщика.К Linker> Input добавьте «OgreMain_d.lib; OIS_d.lib» для Ogre и, если используете OpenGL, добавьте «opengl32.lib; glu32.lib»
Если возникнут какие-либо другие проблемы, проверьте, совпадает ли ваш рабочий каталог с выходным каталогом.
Это оно! Ваша программа должна собираться и компилироваться.

Некоторые ошибки, с которыми вы можете столкнуться при запуске вашей программы: Если OgreMain_d.dll не найден, просто найдите его в каталоге soure Ogre и вставьте в каталог Debug вашего проекта. Возможно, вам придется скопировать множество других файлов ресурсов Ogre в каталог Debug вашего проекта (в зависимости от того, какие из этих файлов требуются для вашей программы) по причинам переносимости.

Для просмотра путей переменных, таких как $(TargetPath) и т. Д., Просто нажмите на поле со списком, которое появляется при нажатии на любое из значений свойства, и откроется небольшое диалоговое окно. Нажмите и нажмите «Макросы >>», чтобы увидеть значения / пути.

Помогает установить переменную среды OGRE_HOME для Windows. Щелкните правой кнопкой мыши «Мой компьютер», выберите «Свойства»> «Дополнительно»> «Переменные среды»> «Системные переменные»> «Создать».
Создайте новую переменную среды с именем OGRE_HOME и присвойте ей значение, которое является путем к вашей исходной папке Ogre ogre_src_v1-7-3. Вы можете использовать эту переменную в VS всякий раз, когда вы указываете пути. Вы можете использовать его как $(OGRE_HOME).

Пожалуйста, добавьте больше информации в этот файл, если вы сделали что-то еще или обнаружили ошибки и нашли решение для этого.

Мои коллеги очень помогли во время этой сборки. Дополнительная помощь, которую я получил здесь: http://blog.tidalware.com/2009/08/building-ogre-with-visual-studio/
и здесь: http://blog.tidalware.com/2009/06/ogre-and-visual-studio-beginners-faq/
и на официальном сайте Огре. Вы также получите большую помощь в поиске Google. Особенно, когда вы сталкиваетесь с ошибками сборки.

Всех лучших отважных разработчиков! : -)

...