2017-10-18 105 views
3

我們有一個ndk構建,作爲構建的一部分(在一個普通的CMakeLists.txt文件中的add_custom_command中)運行gnu make。當我們在Android Studio 3.0中構建時,構建的錯誤消息會被部分處理,所以它們在錯誤窗格中顯示爲實際錯誤,但雙擊它們卻什麼也不做。如何告訴Android Studio 3.0在哪裏可以找到外部ndk源文件?

我們如何告訴Android Studio 3.0在哪裏可以找到這些構建引用的源文件? (我們要做的工作轉化爲cmake的工作機率不會小於零,而且他們涉及許多第三方項目,每個項目都有自己的定製構建系統。 )。

回答

1

這是一種破解,但它解決了主要問題。向您的CMakeLists.txt添加虛擬靜態庫,例如,

FILE(GLOB_RECURSE 
    DUMMY1_SOURCES 
    /path/to/third-party/project/*.cpp) 

add_library(dummy1 STATIC ${DUMMY1_SOURCES}) 

CMake的將忽略構建在這個靜態庫,因爲主要目標不依賴於它,但這些文件會出現在的Android鑑於CPP節點下。

構建的錯誤消息是部分處理的,所以它們在錯誤窗格中顯示爲實際錯誤,但雙擊它們什麼也不做。

這就奇怪了,我可以添加格式的消息

message (ERROR " 
    /home/alex/test/jni/Android.mk:10") 

即使文件不屬於該項目,不C++,它仍然顯示在我的搖籃可點擊的鏈接控制檯,並在消息窗口中。

+0

+1,但它實際上並沒有解決問題。它確實在Android Studio中添加了符號(因此您可以使用導航到符號的方式),但它不會連接錯誤,因此您可以單擊該錯誤並跳轉到源代碼。 –

+1

有趣的是,你確實在文件中出現了紅色的小圓點,所以這絕對值得你去做。儘管開始小 - 試圖批量添加我們的系統中的每個* .c文件從來沒有完成導入;我最終只是爲我正在編寫的特定部分引入文件。 –

+0

re:但雙擊錯誤消息 - 請參閱更新 –

相關問題