Android編譯錯誤——undefined reference to,androidundefined

來源:互聯網
上載者:User

Android編譯錯誤——undefined reference to,androidundefined

[錯誤描述] 未定義引用

提示如下:
bootable/recovery/minzip/Zip.c:1122: error: undefined reference to 'selabel_lookup'
bootable/recovery/minzip/Zip.c:1123: error: undefined reference to 'setfscreatecon'
bootable/recovery/minzip/Zip.c:1129: error: undefined reference to 'freecon'
bootable/recovery/minzip/Zip.c:1130: error: undefined reference to 'setfscreatecon'
bootable/recovery/minzip/DirUtil.c:151: error: undefined reference to 'selabel_lookup'
bootable/recovery/minzip/DirUtil.c:152: error: undefined reference to 'setfscreatecon'
bootable/recovery/minzip/DirUtil.c:158: error: undefined reference to 'freecon'
bootable/recovery/minzip/DirUtil.c:159: error: undefined reference to 'setfscreatecon'
collect2: error: ld returned 1 exit status
make: *** [out/target/product/fly/obj/SHARED_LIBRARIES/ua-server_intermediates/LINKED/ua-server.so] 錯誤 1


[問題分析] 根據提示可知,Zip.c 調用的四個函數 'selabel_lookup','setfscreatecon','freecon','setfscreatecon' 未定義。其實它們定義在 libselinux 庫中,只是因為 libselinux 庫沒有被包含進相應模組的 Android.mk 檔案中,才導致這樣的編譯錯誤。

 

[處理方法] 開啟所編譯模組的 Android.mk 檔案,在對應模組添加LOCAL_STATIC_LIBRARIES += libselinux,如果已有其他的庫,則將 libselinux 直接添加在後面即可。

小小總結,只為拋磚引玉,如果讀者在編譯過程中遇到類似的問題,可以舉一反三,加以解決。

 

#歡迎技術交流# skype帳號:fxwlucky

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.