Как я могу создать один exe-файл QT Console Application со статическими библиотеками, - PullRequest
2 голосов
/ 16 марта 2012

Я создал консольное приложение 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.dll MINGWM10.DLL

и т.д ..

1 Ответ

5 голосов
/ 16 марта 2012
libgcc_s_dw2-1.dll mingwm10.dll

Эти библиотеки являются зависимостями программ, созданных компилятором MinGW.Чтобы избавиться от этих DLL и, если я правильно помню, используйте LIBS + = -static.Если вы хотите связать библиотеки Qt статически, то вы должны статически строить библиотеки qt

UPDATE


Если вы хотите избавиться от тех двух DLL, которые я упоминал выше, поставьте LIBS += -staticв вашем .pro файле.

Если вы хотите избавиться от dll, таких как QtCore4.dll, QtGui4.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, это бесплатно),Компиляция займет несколько часов.Когда это будет сделано, вы должны зарегистрировать вновь скомпилированные библиотеки Qt в QtCreator.Для этого запустите QtCreator -> Инструменты -> Параметры -> Построить и запустить -> Версии Qt -> Добавить.Когда появится новое диалоговое окно, перейдите в папку, в которой находится исходный код qt, перейдите в bin и выберите qmake.exe.Введите имя версии qt, например: «Qt Static» и все.После этого вы сможете выбрать новые библиотеки qt в настройках проекта.

Надеюсь, это поможет, если вам что-то непонятно, не стесняйтесь спрашивать.

...