從以前的question中產生了一個新語句。我想包含兩個本地TFS項目庫,這兩個項目庫存儲在兩個不同的文件夾中,相互依賴於我的Android Studio項目(存儲在另一個文件夾中)。如果我沒有指定「../my_lib_path/libFile.h」而不是簡單的「libFile.h」,那麼我得到的錯誤是找不到文件。但我不想改變所有包含,因爲它是一個TFS項目,並且庫中包含很多文件!設置CMakeLists以不更改Android Studio中TFS項目的包含語句
非常感謝您的幫助!
從以前的question中產生了一個新語句。我想包含兩個本地TFS項目庫,這兩個項目庫存儲在兩個不同的文件夾中,相互依賴於我的Android Studio項目(存儲在另一個文件夾中)。如果我沒有指定「../my_lib_path/libFile.h」而不是簡單的「libFile.h」,那麼我得到的錯誤是找不到文件。但我不想改變所有包含,因爲它是一個TFS項目,並且庫中包含很多文件!設置CMakeLists以不更改Android Studio中TFS項目的包含語句
非常感謝您的幫助!
將給定的目錄添加到編譯器用來搜索包含文件的目錄。相對路徑被解釋爲相對於當前源目錄。所以你必須指定「../my_lib_path/libFile.h」,這意味着你需要改變所有包含,否則它將無法工作。
@Andy Li-MSFT絕對正確!雖然我在一個類似的項目什麼工作,現在是制定不同的相對的CMakeLists.txt路徑在特定的Android Studio項目目錄之外的應用.gradle文件:
externalNativeBuild {
cmake {
path "../../whatever_path/my_C_files/CMakeLists.txt"
}
}
之後,我能夠編譯我的C來源完美無瑕,而不會改變C項目的包含路徑!
請描述您的項目及其CMakeLists.txt文件的層次結構(與您的問題相關)。請以**一致**的方式做到這一點。 – Tsyvarev
Hi @Tsyvarev!層次結構和CMakeLists仍然與上一個問題(應該是一致的)相同 - 這就是爲什麼我將它鏈接起來的原因。謝謝你在這裏幫忙! –
它是堆棧溢出的要求,所有關於**的重要**信息都應該在**本身的問題帖**中。儘管你可以使用鏈接來提供*附加信息。 – Tsyvarev