如何使用静态库创建QT控制台应用程序的Single exe,

How can i create a Single exe of QT Console Application , with static libraries,

本文关键字:应用程序 Single exe 控制台 QT 何使用 静态 创建      更新时间:2023-10-16

我已经创建了一个Qt控制台应用程序,但当我尝试发布exe时,它显示了很多库丢失的错误,我该如何解决这个问题,我需要一个独立的exe。所有库都应该在exe中。请帮帮我。。

我当前的QT Pro文件是这个

#-------------------------------------------------
#
# Project created by QtCreator 2012-03-15T15:50:07
#
#-------------------------------------------------

QT       += core network xml
QT       -= gui
TARGET = BillingClient
CONFIG   += console
CONFIG   -= app_bundle
CONFIG   += debug_and_release
TEMPLATE = app

SOURCES += main.cpp
HEADERS += 
    HttpDaemon.h 
    Config.h 
    Logger.h 
    XmlReader.h 
    RequestHandler.h
OTHER_FILES += 
    System.ini 
    Response.xml

缺少库。。

libgcc_s_dw2-1.dllmingwm10.dll

等等。。

libgcc_s_dw2-1.dll mingwm10.dll

这些库是由MinGW编译器构建的程序的依赖项。要去掉那些dll,如果我记得正确的话,请使用LIBS+=-static。如果你想静态地链接Qt库,那么你应该静态地构建Qt库

更新


如果你想去掉我上面提到的2个dll,把LIBS += -static放在.pro文件中。

如果你想去掉像QtCore4.dll QtGui4.dll等dll,你应该静态地重新生成Qt源代码。如果采用这种方式,您应该首先选择要使用的编译器。目前我正在使用MSVC 2010。只需下载最新的qt源代码,使用以下参数执行config.exe:-debug-and-release -platform win32-msvc2010 -sse -sse2 -no-qt3support -no-s60 -no-cetest -saveconfig config -mp并按照说明操作(请记住,您应该安装MSVC编译器。只需下载MSVC 2010 express,它是免费的)。编译需要几个小时。完成后,您应该在QtCreator中注册新编译的Qt库。要执行此操作,请启动QtCreator->工具->选项->构建&运行->Qt版本->添加。当弹出新对话框时,导航到qt源代码所在的文件夹,转到bin并选择qmake.exe。输入qt版本的名称,例如:"qt Static"。之后,您将能够从项目设置中选择新的qt库。

希望它能帮助你,如果有什么不清楚的地方,请随时询问。