【问题标题】:Cannot build Qt SDK from source on Mac OS X无法在 Mac OS X 上从源代码构建 Qt SDK
【发布时间】: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

标签: macos qt build


【解决方案1】:

你的问题:

ld: 未找到架构 ppc 的符号

如果您为 10.6 构建,则不支持 AFAIK PPC。如果您想为 PPC 构建,那么您可能需要为 OS X 的不同目标版本 - 10.4 或 10.5 构建。

【讨论】:

  • 感谢您的回复,但是如何为不同版本的 OS X 构建?是否有需要添加的配置参数?
  • 好的,我收到了回复:stackoverflow.com/questions/4778794/… 感谢您为我指明正确的方向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-05
  • 2023-04-02
  • 1970-01-01
相关资源
最近更新 更多