@RomkaChev

Как скомпилировать библиотеку OSG при помощи MinGW на Windows?

Я пытаюсь скомпилировать форк библиотеки OSG со встроенным плагином osgjs, позволяющим конвертировать 3d модели в .osgjs формат.

Предварительно установил MinGW.
Выполняю сборку проекта при помощи CMake-gui.

После сборки перехожу в папку с билдом, запускаю консоль Git Bash и набираю команду $ mingw32-make.

Во время компиляции выдается следующая ошибка:
In file included from D:/osg-master/include/osg/BufferObject:18:0,
                 from D:/osg-master/include/osg/Image:17,
                 from D:/osg-master/include/osg/AudioStream:17,
                 from D:\osg-master\src\osg\AudioStream.cpp:14:
D:/osg-master/build/include/osg/GL:118:26: error: '__int64' does not name a type

         typedef          __int64 GLint64;
                          ^
D:/osg-master/build/include/osg/GL:119:34: error: expected initializer before 'GLuint64'
         typedef unsigned __int64 GLuint64;
                                  ^
src\osg\CMakeFiles\osg.dir\build.make:198: recipe for target 'src/osg/CMakeFiles/osg.dir/AudioStream.obj' failed
mingw32-make[2]: *** [src/osg/CMakeFiles/osg.dir/AudioStream.obj] Error 1
CMakeFiles\Makefile2:245: recipe for target 'src/osg/CMakeFiles/osg.dir/all' failed
mingw32-make[1]: *** [src/osg/CMakeFiles/osg.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
mingw32-make: *** [all] Error 2


P.S. При попытке скомпилировать оригинальную библиотеку все проходит успешно.

P.P.S. Windows 8.1, CMake 3.1.0-rc, gcc 4.8.1

Подскажите, что делать в этой ситуации?
  • Вопрос задан
  • 3036 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Lol4t0
Убедитесь, что используете правильный генератор для cmake. Вам нужен MSYS Makefiles. Не знаю, как в GUI, а в консоли
cmake -G "MSYS Makefiles"
Ответ написан
Комментировать
@DancingOnWater
Поверхностное гугление показало. Что __int64 этот тип 64-битного инта в Майкрософтовском компиляторе и в gcc (а значит в mingw) его нет. Скорее всего вы сконфигурировали для VS
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы