1

学校の大きなプロジェクトを自分のマシン (Mac OS X 10.8.4) にコンパイルしようとしています。ありがたいことに、ネイティブの依存関係/ライブラリの場所のほとんどを把握することができ、それに応じてメイクファイルを変更しました。

ただし、次のエラーで立ち往生しています。

ld: library not found for -lQtCore

メイクファイル内では、次のlQtCore行の一部です。

QT_LIBS = -L$(QT4DIR)/lib -lQtCore -lQtGui -lQtOpenGL

変数はQT4DIR正しいはずです。次のディレクトリの場所を表します。

/sw/lib/qt4-mac/

そこに入ってから入る/sw/lib/qt4-mac/と、libこれらがあります(アライメントが悪くて申し訳ありません)

Qt3Support.framework             QtSql.framework
Qt3Support.la                    QtSql.la
Qt3Support_debug.la              QtSql_debug.la
QtAssistant.framework            QtSvg.framework
QtCore.framework                 QtSvg.la
QtCore.la                        QtSvg_debug.la
QtCore_debug.la                  QtTest.framework
QtDBus.framework                 QtTest.la
QtDBus.la                        QtTest_debug.la
QtDBus_debug.la                  QtWebKit.framework
QtDeclarative.framework          QtXml.framework
QtDeclarative.la                 QtXml.la
QtDeclarative_debug.la           QtXmlPatterns.framework
QtDesigner.framework             QtXmlPatterns.la
QtDesignerComponents.framework   QtXmlPatterns_debug.la
QtGui.framework                  QtXml_debug.la
QtGui.la                         libQtCLucene.4.7.3.dylib
QtGui_debug.la                   libQtCLucene.4.7.dylib
QtHelp.framework                 libQtCLucene.4.dylib
QtHelp.la                        libQtCLucene.dylib
QtHelp_debug.la                  libQtCLucene.la
QtMultimedia.framework           libQtCLucene.prl
QtMultimedia.la                  libQtCLucene_debug.4.7.3.dylib
QtMultimedia_debug.la            libQtCLucene_debug.4.7.dylib
QtNetwork.framework              libQtCLucene_debug.4.dylib
QtNetwork.la                     libQtCLucene_debug.dylib
QtNetwork_debug.la               libQtCLucene_debug.la
QtOpenGL.framework               libQtCLucene_debug.prl
QtOpenGL.la                      libQtUiTools.a
QtOpenGL_debug.la                libQtUiTools.prl
QtScript.framework               libQtUiTools_debug.a
QtScript.la                      libQtUiTools_debug.prl
QtScriptTools.framework          phonon.framework
QtScriptTools.la                 phononexperimental.framework
QtScriptTools_debug.la           pkgconfig
QtScript_debug.la

QtOpenGL私はこのようなことの専門家ではありませんが、たとえば、だけQtOpenGL.frameworkでなくQtOpenGL.la、などと呼ばれるものが必要なようです。

(おそらく) ミッシング リンクを取得するには、これらのファイルを生成するために Qt 内で何かを行う必要がありますか、それとも別の場所にあるため、makefile に別の情報を与えるだけですか?

4

2 に答える 2

0

そのため、リンカはライブラリ ファイル (lib) 別名アーカイブ ファイルを探しています。.aまたはのように.lib

http://doc.qt.io/qt-4.8/qmake-variable-reference.html#libs

コマンドは-lgenericLibraryName次を探す必要があります。

genericLibraryName.a
genericLibraryName.lib
genericLibraryName<num>.lib (where <num> is the highest version that can be found if you are on windows...)

Mac 用に静的にビルドするのに役立つその他のドキュメントを次に示します。

https://doc.qt.io/qt-4.8/developing-on-mac.html

https://doc.qt.io/qt-4.8/mac-support.html

https://doc.qt.io/qt-4.8/deployment-mac.html

Makefile を編集していません...

私があなただったら、学校でビルドに使用され、qt Web サイトからダウンロードしたのと同じバージョンの Qt を持っていることを確認し、Qt Creator で Qt サンプルの 1 つをビルドして実行できることを確認します。 OSX.

次に、Qt Creator で学校のプロジェクトをコンパイルしてみます。

それが役立つことを願っています。

于 2013-07-22T03:10:20.030 に答える