問題:
依賴庫想放在專案資料夾下面,而不是系統動態庫資料夾下面。
link_directories(path1,path2),但是!這個命令設定了相對路徑根本不起作用!還是找不到!!
官方文件說的是2.8.1以上是可以用的,文件給的那個環境變數我沒有搞清楚。就沒有按照官方文件說的那樣做。
我使用的是:project_source_dir,整體思路是:使用cmake變數+相對路徑 。曲線完成可移植性。
舉個栗子:
link_directories("$/../../../lib")
注意:project_source_dir,這個環境變數官方的解釋:
top level source directory for the current project.
this is the source directory of the most recentproject()
command.
最頂層目錄;最後一次呼叫project的目錄。
所以一定要注意這個變數的值,不單單是頂層目錄。
如果出錯了,解決辦法是:在呼叫的地方加個除錯資訊,把project_source_dir的值列印出來。
message(status "project_source_dir is " $)
link_directories("$/../../lib/")
或者(可能有其它問題):
直接在當前目錄的cmakelists.txt最上面加上project(某某某),這個project命令,我沒有細細看,有沒有其它問題不知道,各位自行鑑定。
cmake 常用總結
不強迫自己永遠不知道自己有多大實力。只有逼迫自己你才知道自己能做到什麼樣子。加油吧 小夥子。cmake 主要的函式 定義了這個工程會生成乙個檔名為hello的可執行檔案,相關的原始檔是src list中定義的原始檔列表 add executable 定義了庫生成的路徑,library output ...
cmake使用範例
cmake作為一款跨平台的專案構建工具,其使用範圍已經越來越廣,本文以實際專案為例,展示乙個使用該編譯工具的模板。希望我們都能在這些高效的工具幫助下都享受程式設計的樂趣。project src libs modules includes build bin cmakelists 根目錄下cmakel...
CMake使用整理
cmake是乙個跨平台的安裝 編譯 工具,可以用簡單的語句來描述所有平台的安裝 編譯過程 它使用乙個名為 cmakelists.txt 的檔案來描述構建過程,可以產生標準的構建檔案,如 unix 的 makefile 或windows visual c 的 projects workspaces 檔...