C++ 在cmake中使用自定义编译器标志?
我正在尝试编译我在GitHub上找到的一些代码 我只是想在tests/中编译这些东西。我从未有过使用cmake的经验,但不管怎样,它们都是合乎逻辑的 我被卡在了cmake做这件事的地方:C++ 在cmake中使用自定义编译器标志?,c++,makefile,cmake,C++,Makefile,Cmake,我正在尝试编译我在GitHub上找到的一些代码 我只是想在tests/中编译这些东西。我从未有过使用cmake的经验,但不管怎样,它们都是合乎逻辑的 我被卡在了cmake做这件事的地方: /usr/bin/c++ CMakeFiles/clear.dir/clear.o -o clear -rdynamic -lwendy -lglfw -lGLEW -lglm -lz 并获取以下错误: Linking CXX executable clear /usr/bi
/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
我不明白Wendy和glm文件夹是如何成为编译器标志的。有人请解释一下这是怎么可能的(在
tests/CMakeLists.txt
行目标链接库(${test}wendy${wendy_库})
指示cmake将WENDY_libraries
中的库列表链接到可执行文件。后续问题:WENDY_库似乎没有引用任何内容,并使其引用库所在的目录(~/Tapio/libs/是我写的)似乎不起作用。我该怎么办?如果你查看/CMakeLists.txt
,你会发现它添加了很多库。@Fangirl如果你想查看变量中的内容,那么与printf
语句等价的CMake是message
。像这样使用它:message(“libs:${WENDY_libraries}”)
。文档非常详尽。