2017-06-12 43 views
0

從以前的question中產生了一個新語句。我想包含兩個本地TFS項目庫,這兩個項目庫存儲在兩個不同的文件夾中,相互依賴於我的Android Studio項目(存儲在另一個文件夾中)。如果我沒有指定「../my_lib_path/libFile.h」而不是簡單的「libFile.h」,那麼我得到的錯誤是找不到文件。但我不想改變所有包含,因爲它是一個TFS項目,並且庫中包含很多文件!設置CMakeLists以不更改Android Studio中TFS項目的包含語句

非常感謝您的幫助!

+0

請描述您的項目及其CMakeLists.txt文件的層次結構(與您的問題相關)。請以**一致**的方式做到這一點。 – Tsyvarev

+0

Hi @Tsyvarev!層次結構和CMakeLists仍然與上一個問題(應該是一致的)相同 - 這就是爲什麼我將它鏈接起來的原因。謝謝你在這裏幫忙! –

+0

它是堆棧溢出的要求,所有關於**的重要**信息都應該在**本身的問題帖**中。儘管你可以使用鏈接來提供*附加信息。 – Tsyvarev

回答

0

將給定的目錄添加到編譯器用來搜索包含文件的目錄。相對路徑被解釋爲相對於當前源目錄。所以你必須指定「../my_lib_path/libFile.h」,這意味着你需要改變所有包含,否則它將無法工作。

0

@Andy Li-MSFT絕對正確!雖然我在一個類似的項目什麼工作,現在是制定不同的相對的CMakeLists.txt路徑在特定的Android Studio項目目錄之外的應用.gradle文件:

externalNativeBuild { 
     cmake { 
      path "../../whatever_path/my_C_files/CMakeLists.txt" 
     } 
    } 

之後,我能夠編譯我的C來源完美無瑕,而不會改變C項目的包含路徑!

相關問題