首页 > 其他分享 >MacOS - QT动态库打包嵌入问题处理

MacOS - QT动态库打包嵌入问题处理

时间:2023-12-29 11:56:50浏览次数:36  
标签:MacOS 嵌入 QT Versions app framework Frameworks QtCore

Crash信息

Termination Reason: Namespace DYLD, Code 1 Library missing
Library not loaded: @rpath/QtCore.framework/Versions/5/QtCore
Referenced from: /Applications/AppName.app/Contents/MacOS/AppName
Reason: tried: '/Applications/AppName.app/Contents/MacOS/../Frameworks/QtCore.framework/Versions/5/QtCore' (no such file), '/Applications/AppName.app/Contents/MacOS/../Frameworks/QtCore.framework/Versions/5/QtCore' (no such file), '/Applications/5.12.12/5.12.12/clang_64/lib/QtCore.framework/Versions/5/QtCore' (no such file), '/Applications/AppName.app/Contents/MacOS/../Frameworks/QtCore.framework/Versions/5/QtCore' (no such file), '/Applications/AppName.app/Contents/MacOS/../Frameworks/QtCore.framework/Versions/5/QtCore' (no such file), '/Applications/5.12.12/5.12.12/clang_64/lib/QtCore.framework/Versions/5/QtCore' (no such file), '/Library/Frameworks/QtCore.framework/Versions/5/QtCore' (no such file), '/System/Library/Frameworks/QtCore.framework/Versions/5/QtCore' (no such file)
(terminated at launch; ignore backtrace)

打包后在其它电脑安装后出现了上述问题,找不到QtCore.framework,之前开发一直在自己的开发电脑,该机器是安装了QT环境的,调试跑起来也没注意到这个问题

解决问题

查看工程引入的QT库,原来使用的是静态库,这个版本升级了QT使用的是动态库了,发现没有嵌入,于是果断修改库嵌入方式为Embed & Sign,再次编译

/Users/用户名/Documents/Terminal/trunk/项目名称/ReleaseLib_MAC/AppName.app: unsealed contents present in the root directory of an embedded framework
In subcomponent: /Users/用户名/Documents/Terminal/trunk/项目名称/ReleaseLib_MAC/AppName.app/Contents/Frameworks/QtCore.framework

结果并不是预期的,在Debug环境下始终无法编译,甚至换成Embed Without Signing 也是不行

通常我们的动态库是选择Embed嵌入打包进app的,这个QT库却有点不一样。没办法,于是上网查找了,所幸找到了,解决办法是Xcode工程不嵌入动态库,也就是对QT动态库保持Do Not Embed配置。

其次,在Build Phases中添加一个编译脚本

/Users/用户名/QT/5.12.12/clang_64/bin/macdeployqt ${CODESIGNING_FOLDER_PATH}

同时,在Xcode的主target build settingOther Code Signing Flags 添加一个签名标志位 --deep

这里需要使用QT提供的工具处理这几个动态库,在编译打包的时候会把动态库拷贝到app包内的Frameworks文件夹下,这样打包发布就可以正常找到动态库了

 

标签:MacOS,嵌入,QT,Versions,app,framework,Frameworks,QtCore
From: https://www.cnblogs.com/zhuchunlin/p/17934566.html

相关文章

  • MacOS - Xcode 报referenced from:
    Xcode升级10之后项目错误:==================================================================================================================Link//Users/moyea/Desktop/NewSVN/BD34/BDPlayer/build/Release/Leawo\Blu-ray\Player.app/Contents/MacOS/LeawoBlu-rayP......
  • Cisco Secure Client 5.1.1.42 (macOS, Linux, Windows & iOS, Andrord) - VPN 和远程
    CiscoSecureClient5.1.1.42(macOS,Linux,Windows&iOS,Andrord)-VPN和远程访问客户端思科安全客户端(包括AnyConnect)作者主页:sysin.orgCiscoSecureClient(includingAnyConnect)思科安全客户端(包括AnyConnect)安全访问只是开始您的团队需要轻松访问公司资源和私有应......
  • MacOS - Xcode新建C++项目导入QT库
    在项目BuildPhases>LinkBinaryWithLibraries点击+点击AddOther...选择QT安装路径下的framework在文件中使用#include<>导入QT,例如#include<QtWidgets>,如果报错,那么需要在BuildSettings>HeaderSearchPaths中添加你的QT安装路径下相应的framework路径,例如:/usr/l......
  • VMware ESXi 8.0U2 macOS Unlocker & OEM BIOS 标准版和厂商定制版 2023年12月更新
    VMwareESXi8.0U2macOSUnlocker&OEMBIOS标准版和厂商定制版2023年12月更新ESXi8.0U2标准版,Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)等定制版作者主页:sysin.org2023-12-17更新(驱动和OEM组件更新):DellESXi8.0U2A03和HPEESXi8.0U2Oct2023。VMware......
  • VMware ESXi 7.0 U3o macOS Unlocker & OEM BIOS 标准版和厂商定制版 2023年12月更新
    VMwareESXi7.0U3omacOSUnlocker&OEMBIOS标准版和厂商定制版2023年12月更新ESXi7.0标准版和Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)、Cisco(思科)定制版镜像作者主页:sysin.org2023-12-17更新(驱动和OEM组件更新):DellESXi7.0U3oA17HPEESXi7.0......
  • macOS Sonoma 14.2.1 (23C71) 正式版发布,ISO、IPSW、PKG 下载 (安全更新)
    macOSSonoma14.2.1(23C71)正式版发布,ISO、IPSW、PKG下载(安全更新)本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。作者主页:sysin.org更新摘要:macOS......
  • macOS Sonoma 14.2.1 (23C71) 正式版 Boot ISO 原版可引导镜像下载 (安全更新)
    macOSSonoma14.2.1(23C71)正式版BootISO原版可引导镜像下载(安全更新)本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。作者主页:sysin.org更新摘要:m......
  • Luminar Neo 1.17.0 (macOS, Windows) - 创新 AI 图像编辑器
    LuminarNeo1.17.0(macOS,Windows)-创新AI图像编辑器作者主页:sysin.org你想象中的照片LuminarNeo让您能够表达所见之美什么是LuminarNeo?您是否曾经想通过图像获得更多成就?LuminarNeo是一款创新的图像编辑器,由未来的AI技术提供支持,可简化复杂的编辑程序并使创作者能......
  • Adobe Creative Cloud 2024 (macOS, Windows) 下载汇总 - 创意应用程序
    AdobeCreativeCloud2024(macOS,Windows)-创意应用程序Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD作者主页:sy......
  • Adobe Lightroom Classic v13.1 (macOS, Windows) - 桌面照片编辑器
    AdobeLightroomClassicv13.1(macOS,Windows)-桌面照片编辑器Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD作者......