2013-05-17 28 views
0

我有兩個二進制文件,它們是在Linux機器上編譯的簡單C++程序。第一個二進制文件 - 稱之爲my_native_prog - 使用構建機器上的標準構建工具(g ++,as等),庫和頭文件。第二個二進制文件 - 稱爲my_toolchain_prog - 使用工具鏈中的構建工具,該工具鏈具有所有相同構建工具的不同版本。如何查看哪些頭文件用於gcc/g ++編譯

如何確認my_toolchain_prog是使用工具鏈的標頭/庫正確編譯的,而不是編譯機本地的?

工具鏈的目的是交叉編譯特定Linux版本的代碼。

回答

1

如果my_toolchain_prog是使用調試信息構建的,那麼它可能會包含它使用的頭文件的路徑,但是如果沒有調試信息,則無法從編譯代碼中找到使用哪些頭文件。

您可以運行ldd my_toolchain_prog它會顯示你的共享庫的依賴關係,並且可能會顯示其libstdc++.so版本的二進制文件鏈接,以通常指示哪些工具鏈它與(這是可以覆蓋的東西,這樣如建你用一個較舊的GCC構建並鏈接到來自較新版本的庫,但那將是不尋常的)

相關問題