2013-12-14 3 views
3

Недавно я приобрел OpenGL SuperBible 6-е издание, чтобы узнать о OpenGL 4, который поставляется с нагрузкой example code. Авторы приложили все усилия, чтобы создать код в Windows/Linux, предоставив проект Visual Studio 2010 и файл CMake.Портирование проектов CMake/Visual Studio для Eclipse

Это, как говорится, я хотел бы использовать этот пример кода в Eclipse, так как это моя предпочтительная IDE. У меня есть Eclipse CDT, Visual Studio 2012 Professional, MinGW и CMake на моей машине. Я думал, что было бы достаточно просто перенести проект в проект Eclipse, но до сих пор мои попытки были бесплодны. Вот что я сделал:


Первый, я попытался сделать проект Eclipse, из файла CMake. По-видимому, в CMake (с которым я не знаком) вы можете запустить команду для создания файлов проекта Eclipse. Из описания, я пришла в голову мысль о том, что файл CMake предназначался для Linux, поэтому я побежал следующую команду внутри базовой директории проекта:

cmake -G "Eclipse CDT4 - Unix Makefiles" ./ 

Что на первый взгляд, казалось, работало. Однако, когда я импортировал сгенерированный проект в Eclipse и впоследствии его построил, я получил bunch of undefined reference errors; возможно, это проблема Linux/Windows?


Второй, после того, как это не удалось, я думал, что я мог бы быть в состоянии преобразовать проект Visual Studio в проект Eclipse. Я Googled, и получил this tutorial from IBM, который описал экспорт makefile из VS, а затем с помощью этого. Тем не менее, он ужасно устарел (учебное пособие с 2006 года, очевидно, что VS отказался от опции «export makefile» некоторое время назад). Я могу запустить проект просто отлично от VS, поэтому я знаю, что код хорош.


Так что теперь я в недоумении. Может ли кто-нибудь дать представление о переносе этого проекта в Eclipse? Я предполагаю, что могу импортировать код вручную, но поскольку я еще не очень хорошо знаком с этим кодом (вот почему я купил книгу!), Я бы предпочел использовать самый простой способ, чтобы не прикрутить что-то.

ответ

2

Все проблемы, связанные с lib/GLFW_r32.lib, которые построены с помощью Visual Studio.

Поскольку библиотеки MinGW и Visual Studio являются incompatible, нет возможности использовать lib/GLFW_r32.lib в комплекте с примерами кода.

Есть следующие варианты:

  • Использование Visual Studio as suggested in Readme
  • Использование MinGW библиотека, которая обеспечивает поддержку OpenGL вместо этого (в этом случае вы должны изменить CMakeLists.txt - см ниже)
 
    if(WIN32) 
     if(MINGW) 
      // Add mingw specific lib for OpenGL 
      set(COMMON_LIBS mingw-specific libs here...) 
     else(MINGW) 
      // Visual Studio specific 
      set(COMMON_LIBS sb6 optimized GLFW_r32 debug GLFW_d32) 
     endif(MINGW) 
    elif (UNIX) 
     set(COMMON_LIBS sb6 glfw ${GLFW_LIBRARIES} GL rt dl) 
    else() 
     set(COMMON_LIBS sb6) 
    endif() 
Смежные вопросы