本文主要讲解如何在C++程序中使用CMakeLists.txt中的变量。最初需求是让C++程序获取到安装之后的路径,即获取CMAKE_INSTALL_PREFIX变量
阅读的文章
注意:使用cmake管理C++工程时,C++程序中的相对路径都是相对于make命令所在目录的,而不是相对于生成的可执行文件的。
可以通过add_definitions()命令使得C++程序中可以使用CMakeLists.txt中定义的变量(主要是使用定义的路径)
add_definitions()使用方法:
例子:add_definitions(-DCMAKE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}")
-D前缀表示宏定义define,-D后面是宏变量名称,使用=进行赋值,注意:在CMakeLists.txt中在""中也可以通过${}来使用变量。由于我们需要的路径是字符串,而${CMAKE_INSTALL_PREFIX}不是字符串(是没有引号的路径),所以需要给它加上""变成字符串再赋值给宏变量,这样再C++程序中就可以使用宏变量CMAKE_INSTALL_PREFIX来获取安装路径了。linux下C++通过空格即可拼接宏变量字符串,详见文章1。
6041

被折叠的 条评论
为什么被折叠?



