使用它-Wl,-Bstatic來告訴gcc我要靜態鏈接的庫對我來說很奇怪。畢竟我告訴gcc直接有關與庫(鏈接的所有其他信息-Ldir,-llibname)。是否可以直接告訴gcc驅動程序應靜態鏈接哪些庫?澄清:我知道,如果某個庫僅存在于靜態版本中,它將在不使用的情況下使用它-Wl,-Bstatic,但是我想暗示gcc更喜歡靜態庫。我也知道直接指定庫文件將與它鏈接,但是我更喜歡保持包含靜態庫和動態庫的語義相同。
3 回答

12345678_0001
TA貢獻1802條經驗 獲得超5個贊
變體1 /path/to/library/libLIBRARY.a
需要編寫完整的路徑,變體2 -Wl,-Bstatic -llib2 -Wl,-Bdynamic
只是很長,并添加了2個額外的選項,并假定默認模式為Bdynamic,而接受的變體3 -l:libXYZ.a
很短并且可以正常工作。這三種方法在很多情況下都可以使用,而鏈接靜態程序時,變體2可能無法使用。據我了解,lib的實際鏈接步驟在所有變體中都是相同的。
添加回答
舉報
0/150
提交
取消