我試圖用gcov編譯一個android .so文件,並得到以下鏈接錯誤: 在函數全局構造函數中鍵入0_XXX:../../ source/file1.cpp:2661:error:undefined reference to '__gcov_init' in function .LPBX0:file1.cpp(.data.rel + 0x24):error:未定義引用'__gcov_merge_add' 在函數全局構造函數中鍵入0_funcname:../../ source/file2.cpp: 2154:錯誤:未定義參照 '__gcov_init' 在功能.LPBX0:file2.cpp(.data.rel + 0X24):錯誤:未定義參照 '__gcov_merge_add' ' collect2:LD返回1退出狀態 化妝:* [xxx.so]錯誤1Android GCC中的gcov符號在哪裏?
我的android makefile更改:CFLAGS + = - 覆蓋,LOCAL_LDLIBS + = - 覆蓋。 我似乎無法找到缺少符號的位置。我的android工具鏈gcc版本4.6。 任何想法?謝謝。
Ray , 感謝您的回覆。我試過這種方式,但仍遇到「未定義的引用'__gcov_init'和'__gcov_merge_add'問題」。我搜索了整個android源代碼,並在幾個文件夾中找到libgcov.a。我也嘗試了LOCAL_STATIC_LIBRARY + = libgcov,另一個錯誤顯示「out/target/product/XXX/obj/STATIC_LIBRARIES/libgcov_intermediates/libgcov.a(_gcov.o):in gcov_version(,text + 0x98):error:undefined reference to '_impure_ptr'」。你知道嗎? – lilingmzai