【发布时间】:2017-07-29 22:14:56
【问题描述】:
我从源代码中的.pro文件创建makefile,然后nmake并生成qsqlmysql.lib文件,在我的代码中添加Q_IMPORT_PLUGIN(qsqlmysql),并将qsqlmysql.lib和libmysql.lib添加到我的项目中,我得到以下构建时出错:
错误 LNK2019:未解析的外部“struct QStaticPlugin const __cdecl qt_static_plugin_qsqlmysql(void)" (?qt_static_plugin_qsqlmysql@@YA?BUQStaticPlugin@@XZ),符号为 在“公共:__cdecl StaticqsqlmysqlPluginInstance::StaticqsqlmysqlPluginInstance(void)" (??0StaticqsqlmysqlPluginInstance@@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” “gdi32.lib” “comdlg32.lib” “oleaut32.lib” " "imm32.lib" "winmm.lib" "winspool.lib" "msimg32.lib" "Qt5MultimediaWidgetsd.lib" "odbc32.lib" "odbccp32.lib" /DEBUG /MACHINE:X64 /INCREMENTAL /PGD:"H: \Market\freechartgeany-x64\freechartgeany-1.1.0\x64\Debug\FreeChartGeany.pgd" /SUBSYSTEM: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-开源-src-5.3.1\qtbase\plu gins\sqldrivers" /LIBPATH:"I:\Qt\qt-everywhere-opensource-src-5.3.1\qtbase\plugins\platforms" /LIBPATH:"I:\Mysql\lib" /TLBID:1
【问题讨论】:
-
也许这个:github.com/telegramdesktop/tdesktop/issues/2340 或者这个forum.qt.io/topic/34969/… 或者bugreports.qt.io/browse/QTBUG-48415 当你遇到错误时,把它的独特部分和谷歌..我通过谷歌搜索找到了这些链接 struct QStaticPlugin const __cdecl qt_static_plugin_qsqlmysql
-
谢谢xaxxon。我访问了您提供的链接,但似乎它们无法解决我的问题。在我的项目中,我可以静态链接其他 qt 插件,而不是 qsqlmysql.lib(我从源代码构建这个静态库)。顺便说一句,mysql版本是5.5.11 winx64。我的 qt 源是 5.3.1
-
发布给出错误消息的实际链接器命令。