我有一个链接到许多图书馆的程序.默认情况下,g++
更喜欢链接到共享库,即使存在相应的存档.
如果存在静态存档,我如何改变这种偏好,使其更喜欢静态存档而不是动态库?
注意,我使用了-static
选项,但它试图找到所有库的静态存档,这不是我想要的.
我有一个链接到许多图书馆的程序.默认情况下,g++
更喜欢链接到共享库,即使存在相应的存档.
如果存在静态存档,我如何改变这种偏好,使其更喜欢静态存档而不是动态库?
注意,我使用了-static
选项,但它试图找到所有库的静态存档,这不是我想要的.
g++ -Wl,-Bstatic -lz -lfoo -Wl,-Bdynamic -lbar -Wl,--as-needed
将zlib
和libfoo
链接为静电,并将libbar
链接为动态链接.--as-needed
将删除任何未使用的动态库.