如何在Qt中捆绑Mac应用程序中的dylib
How can I bundle a dylib within a Mac app bundle in Qt?
我有一个应用程序和它链接的dylib。我的理解是,应用程序包应该包含dylib。对吗?
是否有办法在构建时将dylib复制到应用程序包中?
谢谢,艾伦。
是否有办法在构建时将dylib复制到应用程序包中?
嗯,当然——用一点shell脚本,一切皆有可能。:)
在你的构建脚本中,在你调用macdeployqt之后,但在你做任何代码签名之前,你会把.dylib文件复制到你的.app文件夹中的Contents/Frameworks中。
之后的技巧是说服可执行文件在它的新位置寻找库,而不是在链接可执行文件时它所在的位置。(如果你执行"otool -L ./MyProgram. exe"命令。app/Contents/MacOS/MyProgram",你会看到程序正在寻找共享库的地方,你会看到它没有在框架文件夹中寻找你的.dylib文件,但是)
使用install_name_tool命令,例如:
install_name_tool -change /the/old/path/to/the_library_name.dylib "@executable_path/../Frameworks/the_library_name.dylib" ./MyProgram.app/Contents/MacOS/MyProgram
这样做之后,你可以在你的可执行文件上再次运行"otool -L"来验证你的满意,可执行文件现在被设置为寻找框架文件夹中的.dylib文件。
相关文章:
- 我可以在 iOS 或 mac 应用程序中使用C++代码吗?
- 如何将基于 qt 的应用程序(在 Mac 上开发)部署到 Windows
- Mac OS X:应用程序可以创建日志文件
- QT MAC应用程序存储数据路径
- 如何在 Mac 上的 C++ 应用程序中使用多线程?
- 在Mac OS上编译Halide的camera_pipe应用程序时出现问题
- 在Ubuntu环境中部署在Mac OS上开发的C 应用程序
- 在另一台 Mac 上运行应用程序
- 如何为 Mac OS X 安装命令行应用程序
- 从C++应用程序创建Mac OS X的安装程序
- 如何将我的应用程序生成的标准 Mac OS X 日志输出重定向到文件
- 将Poco C++库包含到Mac OS X上的Qt Quick应用程序(Qt Creator)中
- 有没有为mac和win应用程序创建和上传崩溃转储的服务
- Mac应用程序开发:如何在安装时选择应用程序语言
- 我可以在mac命令行应用程序和mac应用程序之间进行通信吗
- 为非Cocoa C++Mac项目构建应用程序捆绑包
- 托管嵌入在Mac应用程序中的Chromium
- 如何在Qt中捆绑Mac应用程序中的dylib
- md5.h文件未找到错误Xcode 7 for Mac应用程序
- Mac应用程序的文件保存位置