1

我正在尝试创建一个 .dylib 包括其他 .dylib 符号

例如:我有 libA.dylib 和 libB.dylib,我想制作包含 libA 和 libB 符号的 libcore.dylib

我知道我可以使用 Ao 和 Bo 制作 libcore.dylib

gcc -dynamiclib -Wall -install_name libmycore.dylib -headerpad_max_install_names -o libmycore.dylib ../A/A.o ../B/B.o

然后用 nm -g libcore.dylib :我可以找到 AFunctions 符号和 BFunctions 符号

现在我想知道是否可以使用我尝试过的 libA.dylib 和 libB.dylib 构建 libcore.dylib:

gcc -dynamiclib -Wall -install_name libmycore.dylib -headerpad_max_install_names -o libmycore.dylib -L../A/ -lA -L../B/ -lB

我当然没有编译错误,但是 libcore 中没有引用 libA 和 libB 符号,只是依赖于 nm -g libcore.dylib 我没有符号

有办法吗?

4

1 回答 1

2

我终于找到了一种方法:

gcc -dynamiclib -o libmycore.dylib -Wl,-reexport_library,PATH_TO_LIB/libA.dylib -Wl,-reexport_library,PATH_TO_LIB/libB.dylib

找到正确的语法并不容易,但一切都在这里“解释”:

http://www.opensource.apple.com/source/ld64/ld64-85/unit-tests/test-cases/re-export-cases/Makefile

于 2013-01-14T17:28:40.007 回答