我正在尝试创建一个.dylib,包括其他.dylib符号
ex:我有libA.dylib和libB.dylib,我想制作包含libA和libB符号的libcore.dylib
我知道我可以使用A.o和B.o
制作libcore.dylibgcc -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判断依赖性我没有符号
有办法吗?
答案 0 :(得分: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