2013-09-24 2 views
1

http://qt-project.org/doc/qt-4.8/deployment-windows.html говорит:как я могу staticaly связать Qt приложение в окнах с помощью MinGW

Прежде чем мы сможем собрать наше приложение мы должны убедиться, что Qt построен статический. Чтобы сделать это, перейдите в командную строку и введите следующую команду:

cd C:\path\to\Qt 
configure -static <any other options you need> 

делать это приведет:

'configure' is not recognized as an internal or external command, 
operable program or batch file. 

есть какой-либо шаг за шагом руководство объясняет, как я могу настроить мой проект QT, так что он создает статически связанные двоичные файлы?

Кроме того, это руководство, кажется, ожидать, чтобы у пользователя был полный MSVC компилятор, я использую MinGW, так у меня нет SETENV партий

+0

Я построил 'Qt' из источника через' Cygwin' с 'MinGW'. Там был доступен 'configure'. –

+0

Я загрузил предварительно скомпилированный файл .msi для установки qt ... так что я должен попробовать это сделать в окне msys? – Petr

+0

Является ли это прекомпилированным 'Qt' действительным для' MinGW'? Для 'MinGW' мне пришлось строить' Qt' с нуля. Я установил среду Cygwin, и там был доступен инструмент 'configure'. Я предполагаю, что он будет доступен также для 'msys', но я не уверен. –

ответ

0

Убедитесь, что вы загрузили .zip variant of Qt sources (4.8.5). .tar.gz отсутствует configure.exe, по крайней мере для Qt 5.

Он должен работать тогда.

Обратите внимание, что есть два уровня "статичность":

  1. Qt себя как статическая библиотека.

  2. Отношение Qt (и вашего приложения) к среде выполнения C/C++.

Поскольку вы, вероятно, хотите обоим, вы должны принудить Qt самостоятельно статически связываться с библиотекой времени выполнения C/C++. Я еще не сделал это для mingw, но это потребует изменения соответствующего qmake.conf. Это изменение будет распространяться на код, который вы создаете, используя такой tweaked Qt, поэтому ваше приложение статически связывается с Qt и с C/C++.

Использование MSVC2012 и создание временного кода ссылки, после UPX-ing исполняемого файла размер ~ 3mb для небольшого приложения с использованием gui и сетевых модулей. Просто чтобы дать представление о том, насколько он будет большой. Вероятно, он будет больше при использовании mingw.

Смежные вопросы