2012-08-22 4 views
0

Я пытаюсь скомпилировать код, который я нашел на GitHub https://github.com/tapio/Wendy Я просто пытаюсь скомпилировать материал в тестах /. У меня никогда не было опыта с cmake, но они все равно логичны.с использованием настраиваемого флага компилятора в cmake?

я застрял в той части, где CMake делает это:

/usr/bin/c++  CMakeFiles/clear.dir/clear.o -o clear -rdynamic -lwendy -lglfw -lGLEW -lglm -lz 

и получаю эту ошибку:

Linking CXX executable clear 
    /usr/bin/ld: cannot find -lwendy 
    /usr/bin/ld: cannot find -lglm 
    collect2: ld returned 1 exit status 
    make[3]: *** [clear] Error 1 
    make[2]: *** [CMakeFiles/clear.dir/all] Error 2 
    make[1]: *** [CMakeFiles/clear.dir/rule] Error 2 
    make: *** [clear] Error 2 

Я не понимаю, как Венди и папка GLM стали флагом компилятора. Кто-нибудь, пожалуйста, объясните, как это возможно. :(

ответ

1

В tests/CMakeLists.txt линия target_link_libraries(${test} wendy ${WENDY_LIBRARIES}) инструктирует CMake связать список библиотек в WENDY_LIBRARIES к исполняемым

+0

Развейте вопрос:. WENDY_LIBRARIES, кажется, не относится ни к чему, хотя и делают его обратиться к каталогу где библиотеки (~/Tapio/libs/были тем, что я написал), похоже, не работают. Что делать? – crispyfriedchicken

+0

Если вы посмотрите в './CMakeLists.txt', вы увидите, что в нем имеется довольно много библиотек добавлено к нему – GWW

+2

@Fangirl Если вы хотите увидеть, что находится в переменной, эквивалент CMake для оператора 'printf' -' message'. Используйте его так: 'message (" libs: $ {WENDY_LIBRARIES} ")'. Документация [cmake] (http://cmake.org/cmake/help/v2.8.8/cmake.html) очень кап. – Mark

Смежные вопросы