静态QT:如何添加库(未解析的外部符号)

时间:2019-09-24 15:46:14

标签: visual-studio qt static qt5 visual-studio-2019

我想用与qt兼容的程序制作一个静态文件。遵循众多教程之一,我最终做了以下事情:

  1. 下载qt源代码并解压缩
  2. 在开发人员命令提示符中运行以下命令: configure -static -static-runtime -debug-and-release -platform win32-msvc2017 -no-opengl -prefix "C:\Qt\Static\5.13.0" -opensource -confirm-license -make libs -nomake tools -nomake examples -nomake tests -skip qt3d -skip qtandroidextras -skip qtcanvas3d -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtx11extras -skip qtxmlpatterns (我不需要很多东西,但也许我排除了太多。我不确定)
  3. 运行nmake
  4. 运行nmake install
  5. 在Visual Studio中的“ QT”选项下添加静态版本
  6. 将我的项目设置为以静态版本运行

否,在构建代码时,在以下库和对象中出现许多error LNK2019: unresolved external symbol错误:

Qt5Core.lib(qglobal.obj)
Qt5Core.lib(qregularexpression.obj)
Qt5Core.lib(qcoreapplication_win.obj)
Qt5Core.lib(qeventdispatcher_win.obj)
Qt5Core.lib(qfilesystemengine_win.obj)
Qt5Gui.lib(qtextengine.obj)
Qt5Gui.lib(qfontengine.obj)
Qt5Gui.lib(qpnghandler.obj)
Qt5Gui.lib(qharfbuzzng.obj) 

我已经看到一些问题,说明它们添加/使用/包含/链接了某些库(例如此处Static QT unresolved external symbolQT 5.6 static unresolved external symbol)。但这是否可以解决我的问题,我应该如何添加/链接这些库?

请记住,我正在使用Visual Studio,但是我没有.pro文件(至少我并不知道)。

0 个答案:

没有答案