问题:
依赖库想放在项目文件夹下面,而不是系统动态库文件夹下面。
link_directories(path1,path2),但是!这个命令设置了相对路径根本不起作用!还是找不到!!
官方文档说的是2.8.1以上是可以用的,文档给的那个环境变量我没有搞清楚。就没有按照官方文档说的那样做。
我使用的是:PROJECT_SOURCE_DIR,整体思路是:使用cmake变量+相对路径 。曲线完成可移植性。
举个栗子:
link_directories("${PROJECT_SOURCE_DIR}/../../../lib")
注意:
PROJECT_SOURCE_DIR,这个环境变量官方的解释:
Top level source directory for the current project.
This is the source directory of the most recent project()
command.
最顶层目录;最后一次调用project的目录。
所以一定要注意这个变量的值,不单单是顶层目录。
如果出错了,解决办法是:在调用的地方加个调试信息,把PROJECT_SOURCE_DIR的值打印出来。
message(STATUS "PROJECT_SOURCE_DIR is " ${PROJECT_SOURCE_DIR})
link_directories("${PROJECT_SOURCE_DIR}/../../lib/")
或者(可能有其它问题):
直接在当前目录的CMakeLists.txt最上面加上project(某某某),这个project命令,我没有细细看,有没有其它问题不知道,各位自行鉴定。