0

我想用android gradle實驗性插件0.7.0-alpha5構建一個應用程序。gradle實驗庫鏈接順序

我有一個應用程序「mainProject」依賴於本地庫「nativeLibrary」,這本身就依賴於其他幾個庫(無論是預編譯或不)

當我建立我的nativeLibrary項目,一切編譯和鏈接好。該庫以我在

dependencies 
{ 
    lib1 
    lib2 
    lib3 
} 

塊中給出的順序鏈接。

當我嘗試構建mainProject時,項目無法鏈接,因爲庫傳遞給g ++編譯器的順序是錯誤的(以隨機順序),這裏是對options.txt的提取主要項目:

-shared 
-Wl,-soname,mainProject.so 
-o 
// bunch oh .o files 

lib2 // random order 
lib3 
lib1 

-Wl,--no-undefined 
-Wl,-z,noexecstack 
-Wl,-z,relro 
-Wl,-z,now 
--sysroot=somePath 
-Wl,--build-id 
-LPathToC++Compiler 
-lc++_static 
-no-canonical-prefixes 
-L/somePth 
-latomic 
-llog 
-landroid 
-lEGL 
-lGLESv2 
-lz 

爲了有其鏈接,我必須手動添加標籤

-Wl,--start-group 
lib2 
lib3 
lib1 
-Wl,--end-group 

是否有使用gradle這個實驗的插件,以指定的庫鏈接順序自動化的方式?或者我必須在嘗試鏈接之前創建一個任務來編輯options.txt文件?

謝謝!

編輯:

我發現一些有用的東西上gradle這個論壇,但它似乎並不與工作gradle這個實驗性:

https://discuss.gradle.org/t/c-cross-compiling-with-mingw-w64-is-there-a-way-to-modify-linker-flags/7390/5

回答