如何使用静态库创建QT控制台应用程序的Single exe,
How can i create a Single exe of QT Console Application , with static libraries,
我已经创建了一个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库。
希望它能帮助你,如果有什么不清楚的地方,请随时询问。
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- 如何改变c++应用程序的视觉效果
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 如何从Windows应用程序输出到标准?
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 如何使用静态库创建QT控制台应用程序的Single exe,