其他分享
首页 > 其他分享> > c – OSX:如何静态链接库并动态链接标准库?

c – OSX:如何静态链接库并动态链接标准库?

作者:互联网

如何指定clang静态链接某个库(在我的情况下是SDL2)并动态链接标准库?

使用-static并不好,因为链接器也试图静态链接标准库,这在OSX中是禁止的.另一方面,铿锵不知道-Wl,-Bstatic.

解决方法:

将静态库放在dir ./MyStaticLibs中,只需使用-L./MyStaticLibs/ -l< StaticLibraryName>.

编译器优先于动态版本而非静态版本的库

如果您的动态库(random.dylib)和静态库(random.a)在同一目录中,那么编译器会更喜欢并链接.dylib而不是.a

标签:c,macos,clang,static-linking
来源: https://codeday.me/bug/20190829/1758540.html