3 回答

TA貢獻1794條經驗 獲得超8個贊
使用相對路徑的時候,你要讓cmake能夠搜索到找到你動態庫,就像直接使用gcc/g++來鏈接的時候一樣,要使用-L來指定第三方庫所在路徑。
cmake可以使用 LINK_DIRECTORIES 命令來指定第三方庫所在路徑,比如,你的動態庫在
/home/myproject/libs
這個路徑下,則通過命令:
LINK_DIRECTORIES(/home/myproject/libs)
把該路徑添加到第三方庫搜索路徑中,這樣就可以使用相對路徑了,使用TARGET_LINK_LIBRARIES的時候,只需要給出動態鏈接庫的名字就行了,比如:
TARGET_LINK_LIBRARIES(MyApp -lcurl )

TA貢獻2041條經驗 獲得超4個贊
使用相對路徑的時候,你要讓cmake能夠搜索到找到你動態庫,就像直接使用gcc/g++來鏈接的時候一樣,要使用-L來指定第三方庫所在路徑。cmake可以使用 LINK_DIRECTORIES 命令來指定第三方庫所在路徑,比如,你的動態庫在/home/myproject/libs這個路徑下,則通過命令:LINK_DIRECTORIES(/home/myproject/libs),把該路徑添加到第三方庫搜索路徑中,這樣就可以使用相對路徑了,使用TARGET_LINK_LIBRARIES的時候,只需要給出動態鏈接庫的名字就行了。
拓展:
1、CMake是一個跨平臺的安裝(編譯)工具,可以用簡單的語句來描述所有平臺的安裝(編譯過程)。他能夠輸出各種各樣的makefile或者project文件,能測試編譯器所支持的C++特性,類似UNIX下的automake。
2、只是 CMake 的組態檔取名為 CMakeLists.txt。Cmake 并不直接建構出最終的軟件,而是產生標準的建構檔(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建構方式使用。這使得熟悉某個集成開發環境(IDE)的開發者可以用標準的方式建構他的軟件,這種可以使用各平臺的原生建構系統的能力是 CMake 和 SCons 等其他類似系統的區別之處。
- 3 回答
- 0 關注
- 135 瀏覽
添加回答
舉報