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

时间:2012-03-16 07:00:29

标签: c++ qt qmake

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

My Current 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.dll mingwm10.dll

等。

1 个答案:

答案 0 :(得分:5)

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源,使用以下参数执行configure.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库。

希望它有所帮助,如果你有什么不清楚的地方,请随时提出。