1
我使用cmake編譯結構如下項目:如何在#include上使用名稱前面的庫名稱?
根
- 力霸
-
- INC
-
- SRC
- LibB
-
- INC
-
- SRC
- 的main.cpp
我對每個libx中,每個src和根文件夾CMakeLists。
我的項目正在編譯和按預期工作。但我想包含標頭: 包含「{LibX}/{header} .h」而不是「{header} .h」,而不是將絕對/相對路徑添加到標頭。
因爲我在CMakeLists中設置了所有包含的目錄,所以我可以簡單地包含一個包含它的名稱的頭文件,但那不是最好的解決方案。
例如,我的main.cpp依賴於LibA和LibB,而LibA依賴於LibB,這是一個數學庫。我很高興知道每次從哪個庫中獲得頭文件。
謝謝
不要忘了提權'-I'選項... –
謝謝!這是一種方法,但這個額外的目錄有點「醜陋」。我的意思是,我已經在LibA的領域,爲什麼我應該在它的include目錄裏面指定另一個目錄來放置它的頭部=# –
'#include'需要匹配路徑。您可以在Root下創建一個名爲'includes'的額外文件夾,其中包含指向LibA/inc(稱爲鏈接「LibA」)和LibB/inc(稱爲鏈接「LibB」)的軟(或硬)鏈接。你有控制文件格式嗎?這種結構是通過源代碼控制強加給你的嗎? –