我刚刚开始为Mac开发应用程序。
现在我使用最新的openssl导出应用程序时遇到问题。
bug library not loaded: /usr/local/..../libcrypto.1.0.0.dylib
我尝试使用运行脚本:
的execfile = $ {BUILT_PRODUCTS_DIR} / $ {EXECUTABLE_PATH}
install_name_tool -id @executable_path /../ Frameworks / libcrypto.1.0.0.dylib'lib的'路径'/ libcrypto.1.0.0.dylib install_name_tool -id @executable_path /../ Frameworks / libssl.1.0.0.dylib'lib'的路径'/ libssl.1.0.0.dylib
目标ID = otool -DX 'path to lib'/libcrypto.1.0.0.dylib
NEWTARGETID = @ executable_path /../框架/ libcrypto.1.0.0.dylib
install_name_tool -change $ {TARGETID} $ {NEWTARGETID} $ {EXECFILE}
TARGETID1 = otool -DX 'path to lib'/libssl.1.0.0.dylib
NEWTARGETID1 = @ executable_path /../框架/ libssl.1.0.0.dylib
install_name_tool -change $ {TARGETID1} $ {NEWTARGETID1} $ {EXECFILE}。
我当然会将复制文件添加到框架并将运行搜索路径设置为。
但最后,它仍显示库未加载,如下所示:
Dyld错误消息: 未加载库:/usr/local/ssl/lib/libcrypto.1.0.0.dylib 引自:'app to app'/ Contents / Frameworks / libssl.1.0.0.dylib 原因:未找到图像
任何人都可以帮我解决。
非常感谢。
答案 0 :(得分:2)
我显然已经解决了这个问题:
./Configure darwin64-x86_64-cc -shared --openssldir="@rpath"
构建应用程序后,我将结果dylibs添加到 Frameworks 文件夹,并通过install_name_tool修改应用程序二进制文件:
install_name_tool -change /usr/lib/libcrypto.0.9.8.dylib\
../Frameworks/libcrypto.1.0.0.dylib BinaryName
install_name_tool -change /usr/lib/libssl.0.9.8.dylib\
../Frameworks/libssl.1.0.0.dylib BinaryName