2017-07-29 12 views
-1

ソースファイルで.proファイルからmakefileを作成し、nmakeでqsqlmysql.libファイルを生成した後、Q_IMPORT_PLUGIN(qsqlmysql)をコードに追加し、qsqlmysql.libとlibmysql.libをmyに追加しました。Qt5からmysqlをリンクするときにエラーが発生する

エラーLNK2019:未解決の外部 "構造体QStaticPluginのconstの__cdecl qt_static_plugin_qsqlmysql(無効)" (?qt_static_plugin_qsqlmysql @@ YA BUQStaticPlugin @@ XZ)、シンボルは ある建物ときに、プロジェクト、私は次のエラーを得ました「public:__cdecl StaticqsqlmysqlPluginInstance :: StaticqsqlmysqlPluginInstance(void)」を参照してください。 (?? 0StaticqsqlmysqlPluginInsta nce @@ QEAA @ XZ)

私は半日を過ごしましたが、まだ問題を解決できませんでした。参考のために、私は次のようにリンクコマンドを貼り付けます:

/OUT:"h:\Market\freechartgeany-x64\freechartgeany-1.1.0\x64\Debug\FreeChartGeany.exe "/ MANIFEST/NXCOMPAT/DYNAMICBASE" "OpenGL32.lib" "Qt5PlatformSupportd.lib" "qwindowsd.lib" "Qt5OpenGLd.lib" "Qt5AxBased.lib" "Qt5AxContainerd.lib" "Qt5Cored.lib" "Qt5Guid.lib" "Qt5Multimediad.lib" "Qt5Networkd.lib" " 「Qt5Sqld.lib」「Qt5Widgetsd.lib」「qtmaind.lib」「kernel32.lib」「user32.lib」「shell32.lib」「uuid.lib」「ole32.lib」「advapi32.lib」「ws2_32.lib」「 "gdb"、 "odbc32.lib"、 "odbccp32.lib"、 "odbcc32.lib"、 "odbc32.lib" DEBUG/MACHINE:X64/INCREMENTAL /PGD:"H:\Market\freechartgeany-x64\freechartgeany-1.1.0\x64\Debug\FreeChartGeany.pgd "/サブシステム:WINDOWS/MANIFESTUAC:" level = 'asInvoker' uiAccess = ' false '"/ManifestFile:"x64\Debug\FreeChartGeany.exe .intermediate.manifest "/ ERRORREPORT:PROMPT/NOLOGO /LIBPATH:" I:\ Qt \ qt-everywhere-opensource-src-5.3.1\qtbase\lib "/ LIBPATH:" I:\ Qt \ qt-everywhere-opensource "-src-5.3.1 \ qtbase \ plugins \ sqldrivers" /LIBPATH:"I:\Qt\qt-everywhere-opensource-src-5.3.1\qtbase\plugins\platforms "/ LIBPATH:" I:\ Mysql \ lib "/ TLBID:私はqt4.8.4で、次のように

を問題を解決してきた1

+0

おそらくこれはhttps://github.com/telegramdesktop/tdesktop/issues/2340またはhttps://forum.qt.io/topic/34969/static-link-q_import_plugin-qico-unresolved-external-symbolです。またはhttps://bugreports.qt.io/browse/QTBUG-48415エラーが発生した場合は、それとGoogleのユニークな部分を取る。構造体QStaticPluginのためのグーグルでそれらのリンクを見つけたconst __cdecl qt_static_plugin_qsqlmysql – xaxxon

+0

ありがとうxaxxon。私はあなたから提供されたリンクを訪問しましたが、私の問題を解決できないようです。私のプロジェクトでは、qsqlmysql.libではなく静的に他のqtプラグインをリンクすることができます(私はこの静的なlibをソースからビルドします)。ちなみに、mysqlのバージョンは5.5.11 winx64です。私のqtソースは5.3.1 – user497032

+0

です。エラーメッセージを出す実際のリンカコマンドを使用してください。 – xaxxon

答えて

0

あなたは静的にqsqlmysqlをリンクする際に、次のように記述する必要があります

Q_IMPORT_PLUGIN(qsqlmysql) 

が、qt5に。 3.1、名前が変更された、あなたは次のようにマクロを記述する必要があります:

Q_IMPORT_PLUGIN(QMYSQLDriverPlugin) 

私はいつも未解決の外部...エラーを取得しています。名前を変更した後、私はmysqlを正常にリンクすることができます。

関連する問題