0

LNK2019 および LNK2001 に関連するすべての提案を確認しましたが、問題を解決していないようです。私の問題はフォノンとDLLに関係していますが、プロジェクトにファイルがないため、必要なライブラリをリンクする方法がわかりません.pro。vsaddin と vs2010、および cmake を使用しています。cmake には次のような行があります。

set( QT_LIBS QtCore QtGui QtNetwork QtSvg QtWebKit QtXml QtXmlPatterns phonon )

私が得たエラーは次のとおりです。

12>MainWindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall Phonon::Path::~Path(void)" (__imp_??1Path@Phonon@@QAE@XZ) referenced in function "public: __thiscall MainWindow::MainWindow(class QString const &,class QWidget *,class QFlags<enum Qt::WindowType>)" (??0MainWindow@@QAE@ABVQString@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z)
12>MainWindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class Phonon::Path __cdecl Phonon::createPath(class Phonon::MediaNode *,class Phonon::MediaNode *)" (__imp_?createPath@Phonon@@YA?AVPath@1@PAVMediaNode@1@0@Z) referenced in function "public: __thiscall MainWindow::MainWindow(class QString const &,class QWidget *,class QFlags<enum Qt::WindowType>)" (??0MainWindow@@QAE@ABVQString@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z)
12>MainWindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall Phonon::MediaObject::setTickInterval(int)" (__imp_?setTickInterval@MediaObject@Phonon@@QAEXH@Z) referenced in function "public: __thiscall MainWindow::MainWindow(class QString const &,class QWidget *,class QFlags<enum Qt::WindowType>)" (??0MainWindow@@QAE@ABVQString@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z)

...

12>MainWindow.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Phonon::AudioOutput::metaObject(void)const " (?metaObject@AudioOutput@Phonon@@UBEPBUQMetaObject@@XZ)
12>MainWindow.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall Phonon::AudioOutput::qt_metacast(char const *)" (?qt_metacast@AudioOutput@Phonon@@UAEPAXPBD@Z)
12>MainWindow.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall Phonon::AudioOutput::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@AudioOutput@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
12>MainWindow.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Phonon::MediaObject::metaObject(void)const " (?metaObject@MediaObject@Phonon@@UBEPBUQMetaObject@@XZ)
12>MainWindow.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall Phonon::MediaObject::qt_metacast(char const *)" (?qt_metacast@MediaObject@Phonon@@UAEPAXPBD@Z)
12>MainWindow.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall Phonon::MediaObject::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@MediaObject@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z)

...

12>F:\Projects\build_0.02_audio\bin\Debug\Rashomon.exe : fatal error LNK1120: 37 unresolved externals
4

1 に答える 1

0

set()コマンドは変数を設定します。実行可能ファイルを必要なこれらのライブラリにリンクするには

target_link_libraries(your_executable ${QT_LIBS})
于 2012-10-01T13:32:56.123 に答える