1
給定ar庫和可能的目標文件,找到所有未解析的外部符號的最佳方法是什麼?一種可能是運行鏈接器然後捕獲錯誤,但有時它會在一定數量的符號之後停止。有沒有更好的辦法?在明庫中查找缺失符號
給定ar庫和可能的目標文件,找到所有未解析的外部符號的最佳方法是什麼?一種可能是運行鏈接器然後捕獲錯誤,但有時它會在一定數量的符號之後停止。有沒有更好的辦法?在明庫中查找缺失符號
在你mingw-w64
安裝的bin
目錄,與 沿C和C++編譯器,鏈接器和make工具,你應該組成GNU binutils其他 程序。
其中幾個(nm
,objdump
,readelf
)可以解析對象文件或共享符號表或靜態庫。最簡單的使用可能是nm
。假設 該bin
目錄在PATH
,在目錄中打開命令提示符 包含的庫文件或目標文件你是 興趣和運行:
nm -u libfoo.a
或:
nm -u foo.obj
到請在libfoo.a
或foo.obj
中列出未定義的符號。
如果這些文件包含要查看demangled的C++符號,然後 將-C
添加到nm
選項。
這些工具都承認,靜態庫libfoo.a
只是 對象的歸檔文件,以便nm ... libfoo.a
給你只是 相同的結果,如果libfoo.a
與內它的對象 文件的列表被替換。