【发布时间】:2011-01-24 04:58:06
【问题描述】:
我一直在尝试在 Mac OS X 上静态构建 SDK,但遇到了对我来说没有意义的错误。这是我的配置命令:
sh 配置 -static -opensource -universal
然后我使用以下方法构建框架:
sudo make sub-src
构建过程最初运行良好,但一段时间后,我开始收到如下错误,其中有数百个:
ranlib:对于架构:i386 文件:/usr/local/Trolltech/Qt-4.7.1/lib/libQtScript.a(ARMAssembler.o) 没有符号 ranlib:对于架构:i386 文件:/usr/local/Trolltech/Qt-4.7.1/lib/libQtScript.a(MacroAssemblerARM.o) 没有符号
然后过了一段时间,构建过程会点击这个命令:
g++ -headerpad_max_install_names -Xarch_i386 -mmacosx-version-min=10.4 -Xarch_ppc -mmacosx-version-min=10.4 -arch i386 -arch ppc -all_load -o ../../../../bin/ Assistant.app/Contents/MacOS/Assistant .obj/debug-static/fontpanel.o .obj/debug-static/aboutdialog.o .obj/debug-static/bookmarkdialog.o .obj/debug-static/bookmarkfiltermodel.o 。 obj/debug-static/bookmarkitem.o .obj/debug-static/bookmarkmanager.o .obj/debug-static/bookmarkmanagerwidget.o .obj/debug-static/bookmarkmodel.o .obj/debug-static/centralwidget.o 。 obj/debug-static/cmdlineparser.o .obj/debug-static/contentwindow.o .obj/debug-static/findwidget.o .obj/debug-static/filternamedialog.o .obj/debug-static/helpenginewrapper.o 。 obj/debug-static/helpviewer.o .obj/debug-static/indexwindow.o .obj/debug-static/installdialog.o .obj/debug-static/main.o .obj/debug-static/mainwindow.o 。 obj/debug-static/preferencesdialog.o .obj/debug-static/qtdocinstaller.o .obj/debug-static/remotecontrol.o .obj/debug-static/searchwidget.o .obj/debug-stat ic/topicchooser.o .obj/debug-static/xbelsupport.o .obj/debug-static/collectionconfiguration.o .obj/debug-static/helpviewer_qtb.o .obj/debug-static/moc_fontpanel.o .obj/debug-静态/moc_aboutdialog.o .obj/debug-static/moc_bookmarkdialog.o .obj/debug-static/moc_bookmarkfiltermodel.o .obj/debug-static/moc_bookmarkmanager.o .obj/debug-static/moc_bookmarkmanagerwidget.o .obj/debug-静态/moc_bookmarkmodel.o .obj/debug-static/moc_centralwidget.o .obj/debug-static/moc_contentwindow.o .obj/debug-static/moc_findwidget.o .obj/debug-static/moc_filternamedialog.o .obj/debug-静态/moc_helpenginewrapper.o .obj/debug-static/moc_indexwindow.o .obj/debug-static/moc_installdialog.o .obj/debug-static/moc_mainwindow.o .obj/debug-static/moc_preferencesdialog.o .obj/debug-静态/moc_qtdocinstaller.o .obj/debug-static/moc_remotecontrol.o .obj/debug-static/moc_searchwidget.o .obj/debug-static/moc_topicchooser.o .obj/debug-static/moc_helpviewer_qtb.o .obj/debug-静态/qrc_assistant.o .obj/debug-static/qrc_ass istant_images.o -L/Users/laurent/.Trash/qt-src-4.7.1/lib -L/Users/laurent/.Trash/qt-src-4.7.1/plugins/sqldrivers -lQtHelp_debug -L/Users/ laurent/.Trash/qt-src-4.7.1/lib -lQtCLucene_debug -L/usr/local/Trolltech/Qt-4.7.1/plugins/sqldrivers -lqsqlite_debug -lQtSql_debug -lQtXml_debug -lQtGui_debug -framework Carbon -framework AppKit -lQtNetwork_debug -framework SystemConfiguration -framework CoreFoundation -lQtCore_debug -lz -lm -framework ApplicationServices
后面是数百行这样的行:
ld:警告:qt_noop() 在 /Users/laurent/.Trash/qt-src-4.7.1/lib/libQtHelp_debug.a(qhelpenginecore.o) 和 .obj 中具有不同的可见性(隐藏) /debug-static/fontpanel.o ld:警告:QBool::operator void const*() consthas 在 /Users/laurent/.Trash/qt-src-4.7.1/lib/libQtHelp_debug.a(qhelpenginecore.o) 和(默认)中具有不同的可见性(隐藏)在 .obj/debug-static/fontpanel.o
在那之后,我得到了很多:
架构 ppc 的未定义符号:
“QCLuceneStandardAnalyzer::QCLuceneStandardAnalyzer()”,引用自:
libQtHelp_debug.a(qhelpsearchindexwriter_clucene.o) 中的全文搜索::clucene::QHelpSearchIndexWriter::optimizeIndex()
libQtHelp_debug.a(qhelpsearchindexwriter_clucene.o) 中的全文搜索::clucene::QHelpSearchIndexWriter::run()
fulltextsearch::clucene::QHelpSearchIndexReaderClucene::boostSearchHits(QHelpEngineCore const&, QList >&, QList const&) in libQtHelp_debug.a(qhelpsearchindexreader_clucene.o)
libQtHelp_debug.a(qhelpsearchindexreader_clucene.o) 中的全文搜索::clucene::QHelpSearchIndexReaderClucene::run()
此时,构建过程停止并出现以下错误:
ld: 未找到体系结构 ppc 的符号 collect2: ld 返回 1 个退出状态 lipo:无法打开输入文件:/var/tmp//cc5nBJvn.out(没有这样的文件或目录) make[4]: *** [../../../../bin/Assistant.app/Contents/MacOS/Assistant] 错误 1 make[3]: *** [sub-assistant-install_subtargets-ordered] 错误 2 make[2]: *** [sub-tools-install_subtargets-ordered] 错误 2 make[1]: *** [sub-assistant-install_subtargets-ordered] 错误 2 make: *** [sub-tools-install_subtargets-ordered] 错误 2
我的配置是 Snow Leopard,我正在从那里下载的源代码构建: http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.1.tar.gz
谁能看出可能是什么问题?我已经为此工作了几个小时,但无法弄清楚,所以我非常感谢任何建议。
【问题讨论】:
-
嗨。我也一样。我已经尝试了好几个小时的所有可能性,但我不知道 qt4 在雪豹的静态模式下会发生什么。应用程序构建良好,但运行后它们会崩溃。我很绝望。如果您找到任何解决方案,您可以在这里写吗?谢谢你。 (对不起我的英语)。
-
不幸的是,我从来没有弄清楚,我只是放弃了,因为它让我发疯。最后,我使用 macdeployqt 工具在 Mac OS X 上构建静态可执行文件。您只需指定可执行文件的名称并将所有库添加到其中。它对我来说很好用。更多信息:doc.qt.nokia.com/4.7/deployment-mac.html