cmake之(1)link_directoris link_libraries target_link_libraries
(1)find_library
#在指定目录下搜索一个库, 保存在变量MY_LIB中
find_library(MY_LIB libmylib.a ./)
(2) LINK_DIRECTORIES(添加需要链接的库文件目录)
语法:
link_directories(directory1 directory2 ...)
它相当于g++命令的-L选项的作用,也相当于环境变量中增加LD_LIBRARY_PATH的路径的作用。
比如:
LINK_DIRECTORIES("/opt/MATLAB/R2012a/bin/glnxa64")
(3)LINK_LIBRARIES (添加需要链接的库文件路径,注意这里是全路径)
比如:
LINK_LIBRARIES("/opt/MATLAB/R2012a/bin/glnxa64/libeng.so")
LINK_LIBRARIES("/opt/MATLAB/R2012a/bin/glnxa64/libmx.so")
也可以写成:
LINK_LIBRARIES("/opt/MATLAB/R2012a/bin/glnxa64/libeng.so" "/opt/MATLAB/R2012a/bin/glnxa64/libmx.so")
(4)TARGET_LINK_LIBRARIES (设置要链接的库文件的名称)
比如下面的写法都可以:
TARGET_LINK_LIBRARIES(myProject hello) #连接libhello.so库
TARGET_LINK_LIBRARIES(myProject libhello.a)
TARGET_LINK_LIBRARIES(myProject libhello.so)
注意:查找加载库文件find_library link_directories link_libraries 都需要放在add_library 或者 add_executable语句的前面
target_link_libraries语句放在add_library 或者 add_executable语句的后面
还没有评论,来说两句吧...