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。