将Objective-C程序与我自己的libobjc.A.dylib链接时出现问题
我从苹果开源网站的源代码中构建了一个定制的libobjc.a.dylib,我想用这个dylib编译一个简单的程序来调试它,但是看起来clang总是使用libobjc.a.dylib系统 compile命令是:将Objective-C程序与我自己的libobjc.A.dylib链接时出现问题,objective-c,linker,runtime,clang,Objective C,Linker,Runtime,Clang,我从苹果开源网站的源代码中构建了一个定制的libobjc.a.dylib,我想用这个dylib编译一个简单的程序来调试它,但是看起来clang总是使用libobjc.a.dylib系统 compile命令是: xcrun --sdk macosx10.8 clang main.m -std=c99 -framework Foundation -lobjc -I./usr/include -L. libobjc.A.dylib位于当前文件夹中。otool命令告诉我程序链接到哪个库: ~ otoo
xcrun --sdk macosx10.8 clang main.m -std=c99 -framework Foundation -lobjc -I./usr/include -L.
libobjc.A.dylib位于当前文件夹中。otool命令告诉我程序链接到哪个库:
~ otool -L a.out
a.out:
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 945.18.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 744.19.0)
在该文件中,它使用了一个名为-fno-objc-link-runtime的标志,但它似乎不适用于我的笔记本电脑(mac 10.9.4,xcode 5.1.1)
尝试设置DYLD_LIBRARY_PATH环境变量,但不起作用。这是我编译代码的文件夹,有什么建议或解决方案吗?实际上,我使用了安装\u name\u工具命令来更改库的链接:
install_name_tool -change /usr/lib/libobjc.A.dylib @executable_path/libobjc.A.dylib main
有用链接: