0
我的Unix機器上編譯OpenSSL的編譯。默認編譯器是GCC-4.4.7
。我把另一個編譯器GCC-5.2.0
放在另一個文件夾中。我通常會在前面加上可選的編譯器的路徑$PATH
使gcc
將始終使用在一個替代路徑。如何判斷一個圖書館與某些版本的GCC
但現在我不確定我有編譯庫,有沒有辦法告訴它的gcc用於編譯我的圖書館?對.o
文件的解決方法也很感激。
我的Unix機器上編譯OpenSSL的編譯。默認編譯器是GCC-4.4.7
。我把另一個編譯器GCC-5.2.0
放在另一個文件夾中。我通常會在前面加上可選的編譯器的路徑$PATH
使gcc
將始終使用在一個替代路徑。如何判斷一個圖書館與某些版本的GCC
但現在我不確定我有編譯庫,有沒有辦法告訴它的gcc用於編譯我的圖書館?對.o
文件的解決方法也很感激。
gcc和鏗鏘編譯器套件將提出一個版本字符串在ELF文件中的.comment
部分。 (如果生成中間彙編語言文件,則可以將該字符串看作.ident
指令)。
的GNU裝載程序將其所有輸入對象文件的.comment
部分合併成一個單一部分,從而消除了任何重複。
可以通過運行readelf -p .comment /path/to/your/objectfile
閱讀本節。例如,這裏是和兩個重定位目標文件,做出可執行一個使用GCC編譯其他鏗鏘:
$ readelf -p .comment hello
String dump of section '.comment':
[ 0] GCC: (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
[ 2d] clang version 3.8.1-12ubuntu1 (tags/RELEASE_381/final)
是否'readelf -p的.comment /路徑/到/ yourprogram'給你的信息,你想? –
謝謝@MarkPlotnick!這太棒了!正是我需要的!您能否將此轉換爲答案,以便我可以接受? – ZDunker