《CMake Practice》示例程序的错误
最近在学习CMake,用的自然是《CMake Practice》这本书,看得出来作者写这本书的时候有些匆忙,存在一些纰漏。t1
中的错误自然不用说,漏了${}
这个错误网上很多博文都提及了,但是接下来的t2
中的一个错误网上却找不到相关的资料。
在t2
的练习后,作者告诉我们运行的结果应该如上图所示,但是如果按照作者所给出的代码,执行后的结果中,/usr/bin/
中只有runhello.sh
一个文件,而没有hello这个可执行二进制文件。如下图所示
Hello World
那么问题出在哪里呢?其实如果把前面的内容都看懂的了话马上就知道问题就是./t2/src/CMakeLists.txt
没有加入生成可执行文件的指令,只需要在/t2/src/CMakeLists.txt
中加入下面代码即可
INSTALL(TARGETS hello RUNTIME DESTINATION bin)
另外,如果需要调用runHello.sh
来调用可执行文件,需要将里面的内容从hello
改为./hello