• 11745阅读
  • 9回复

打包mac osx 10.5下的frameworks时如何自定义路径 [复制链接]

上一主题 下一主题
离线hamzsy
 

只看楼主 倒序阅读 楼主  发表于: 2009-09-16
— 本帖被 XChinux 执行加亮操作(2010-09-21) —
静态编译了qt,自己的软件也是静态编译的,运行时不需要qt的frameworks和plugin了,但是还会用到别的非系统自带的frameworks,比如我的程序中用到了firebird数据库,由于这个数据库的客户端连接库也是以frameworks形式安装的,所以不能只使用个dylib库。开发好了软件,再使用macdeployqt打包后,firebird的frameworks被放到了my.app/Contents/Frameworks/Firebird.framework下。

问题是安装到没有qt以及firebird的机器后,程序还是试图调用/Libraries/Frameworks/Firebird.framework,而不是调用my.app/Contents/Frameworks/Firebird.framework,请问如何解决这个问题呢?
离线hamzsy

只看该作者 1楼 发表于: 2009-09-17
看来在mac下写程序的不多阿
离线yshadow

只看该作者 2楼 发表于: 2010-01-15
采用otool -L
Mac 自带的打包工具:macdeployqt
离线nemojoy33
只看该作者 3楼 发表于: 2010-01-19
install_name_tool -change /Libraries/Frameworks/Firebird.framework my.app/Contents/Frameworks/Firebird.framework dylib
离线wd007

只看该作者 4楼 发表于: 2010-01-19
是的,目前在国内,在Mac OS X下写程序的人就不算多,在其上使用Qt的就更少了。但是Qt Software公司本身很希望有更多的人在Mac上使用Qt开发程序
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线hamzsy

只看该作者 5楼 发表于: 2010-03-13
自己解决的,不过是用的nemojoy33的方法。只是来的晚了些,哈哈
离线nemo33
只看该作者 6楼 发表于: 2010-06-04
啊?我的那个叫nemojoy33的id,密码都不记得了。。。。。
离线titicacafz

只看该作者 7楼 发表于: 2010-06-16
朋友,不知道Mac下 Qt库版本兼容的问题怎么解决啊
离线wanwan
只看该作者 8楼 发表于: 2010-08-04
或者不用静态编译,就用动态的.把Framework文件复制到app目录之后,用install_name_tool修改依赖库的签名
类似这样:

install_name_tool -change \
    QtCore.framework/Versions/4/QtCore \
    @loader_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
    bin/$APP_NAME.app/Contents/MacOs/$APP_NAME

参见: http://doc.qt.nokia.com/4.6/deployment-mac.html#linking-the-application-to-qt-as-frameworks
离线toby520

只看该作者 9楼 发表于: 2011-10-20
求救os x下面打包app应用程序
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
快速回复
限100 字节
 
上一个 下一个