Qt应用程序询问未使用的dll

时间:2014-04-07 08:03:08

标签: qt dll qt5 qt5.2

我已经制作了一个Qt应用程序。我已将必要的dll复制到应用程序文件夹,如QT5CORE.DLL,QT5GUI.DLL,QT5WIDGETS.DLL,但应用程序正在询问dt,如Qt5Positioning.dll,Qt5Sensors.dll,Qt5PrintSupport.dll,Qt5Qml.dll等,即使他们没有在程序中使用。  我在应用程序启动时遇到此类错误 "此程序无法启动,因为您的计算机缺少blahblah.dll。重新安装可能会解决此问题。"

我在Qt5.2.1中收到此错误,我正在使用VS 2010。

这是.pro文件:

TEMPLATE = app
TARGET = mainwindow
DESTDIR = ../Win32/Release
QT += core network widgets gui webkitwidgets
CONFIG += release
DEFINES += WIN64 QT_DLL QT_NETWORK_LIB QT_WIDGETS_LIB QT_WEBKITWIDGETS_LIB
INCLUDEPATH += ./GeneratedFiles \
. \
./GeneratedFiles/Release
DEPENDPATH += .
MOC_DIR += ./GeneratedFiles/release
OBJECTS_DIR += release
UI_DIR += ./GeneratedFiles
RCC_DIR += ./GeneratedFiles
include(mainwindow.pri)
win32:RC_FILE = mainwindow.rc

1 个答案:

答案 0 :(得分:2)

模块WebKitWidgets取决于:

  • Qt5MultimediaWidgets.dll
  • Qt5OpenGL.dll
  • Qt5PrintSupport.dll
  • Qt5WebKit.dll
  • Qt5Multimedia.dll
  • Qt5Widgets.dll
  • Qt5Network.dll
  • Qt5Sensors.dll
  • Qt5Gui.dll
  • Qt5Core.dll
  • MSVCP100.dll和MSVCR100.dll
  • (KERNEL32.dll中)

这就是你需要这些DLL的原因。如果您不想发送所有这些,请考虑删除webkitwidgets模块。

您可以使用dependency walker或CFF explorer等工具检查应用程序依赖项。当您遇到这些问题时,这些工具会很有用,您可以轻松地探索案例中依赖项的依赖关系和依赖关系;)