小编han*_*sky的帖子

OSX:如何将静态库转换为动态库?

假设我在安装了Xcode 4.4的运行Mountain Lion的Mac上有一个名为somelib.a的第三方库.我希望得到一个名为somelib.dylib的动态库.适当的Linux命令是:

g++ -fpic -shared -Wl,-whole-archive somelib.a -Wl,-no-whole-archive -o somelib.so
Run Code Online (Sandbox Code Playgroud)

其中-whole-archive和-no-whole-archive传递给链接器.当我做相当于Mac的时候:

g++ -fpic -shared -Wl,-whole-archive somelib.a -Wl,-no-whole-archive -o somelib.dylib
Run Code Online (Sandbox Code Playgroud)

ld失败并出现错误:

ld: unknown option: -whole-archive
Run Code Online (Sandbox Code Playgroud)

似乎OSX上的ld与GNU ld不同.我如何修改上述命令,以便获得所需的结果?

先感谢您!

macos linker dynamic static-libraries

12
推荐指数
2
解决办法
6204
查看次数

标签 统计

dynamic ×1

linker ×1

macos ×1

static-libraries ×1