CMake
命名變量
set(INC_DIR /usr/local/include)
set(LINK_DIR /usr/local/lib)
set(SOURCE_FILES main.cpp)
去哪里找頭文件 相當于gcc/clang 中的-I(i的大寫字母)參數(shù)
include_directories(${INC_DIR})? ? # 用${}引用變量
去哪里找?guī)煳募?.so .dll .dylib 相當于gcc 中的-L參數(shù)
link_directories(${LINK_DIR})
要鏈接的庫文件的名字 相當于gcc中的-l(小寫的l)參數(shù)
target_link_libraries(test)
只寫庫名就可以,就是libxxx.so的中間xxx的部分
也可以寫成下面這樣
target_link_libraries(test)
通過上面的這些關(guān)鍵詞,我們就可以使用第三方庫了苹熏。
cmake_minimum_required(VERSION 2.8.12)
PROJECT (main)
ADD_EXECUTABLE(main main.c)
INCLUDE_DIRECTORIES(/usr/include/hello)
# 靜態(tài)鏈接庫
# TARGET_LINK_LIBRARIES(main libhello.a)
# 動態(tài)鏈接庫
set(LINK_DIR /usr/local/lib)
link_directories(${LINK_DIR})
target_link_libraries(main libhello.so)
拷貝動態(tài)鏈接庫的時候需要注意符號鏈接是否還在