1 link_directories和target_link_libraries
1.1 link_directories
告诉linker去这些目录去找library。
1.2 target_link_libraries
同link_directories一起使用,告诉要链接的库。
2 include_directories
告诉编译器去这些文件夹中去找头文件。
3 动态库和静态库
显示的指定后缀即可以选择动态库还是静态库,如果没有指定后缀,优先使用动态库。
4 link_libraries和target_link_libraries
4.1 link_libraries
设置所有目标需要链接的库。
例子:
LINK_LIBRARIES("/opt/MATLAB/R2012a/bin/glnxa64/libmx.so")
这样,所有的目标都可以使用这个libmx.so了。
4.2 target_link_libraries
设置单一目标需要链接的库。
例子:
link_directories("/opt/MATLAB/R2012a/bin/glnxa64") #这里必须使用绝对路径
add_executable(myProject main.cpp)
target_link_libraries(myProject eng mx)
首先使用link_directories告诉linker去哪个目录找库,然后使用target_link_libraries指定目标myProject 需要的库为eng和mx。