Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在cmake中使用自定义编译器标志?_C++_Makefile_Cmake - Fatal编程技术网

C++ 在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

我正在尝试编译我在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/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}”)
。文档非常详尽。