使用它-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
提交
取消