Я думаю никто не рвётся выпускать своё приложение с кипой библиотек... Чтобы приложение запускалось свободно на других машинах необходимо собрать библиотеку, а затем и само приложение. Ниже я опишу как это сделать.
nmake install
Лично у меня выдаёт ошибку с кодом 0x2 после nmake install, но библиотека всё равно работает. Не знаю в чём подвох, в интернете различных решений много, но в точности с моей проблемой я ничего не нашёл, работает и фиг с ней :)
Первым делом качаем исходники библиотеки (я брал 4.8.0, так как они у меня уже есть в системы). Исходники на сайте звучат как Source files.
Качаем их куда-либо и распаковываем. Рекомендую избегать пробелов и русских символов в пути до исходников, дабы не создать себе лишних проблем.
Следующим этапом открываем "путь к исходникам"/mkspecs/win32-msvc2008/qmake.conf и заменяем все строчки -MD и -MDd на -MT и -MTd. В моём случае строки
QMAKE_CFLAGS_RELEASE = -O2 -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd
Заменим на
QMAKE_CFLAGS_RELEASE = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MTd
Половина дела сделана. Теперь осталось сконфигурировать библиотеку и собрать. Запускаем командную строку, да не простую, а ту, которая есть в ярлыках для VS:
Теперь необходимо перейти в запущенной командной строке в место "дислокации" исходников, например:
cd /d e:\Libs\qt480static\
Теперь запускаем конфигурирование, т.е. дописываем в командную строку:
configure -static -release -opensource -fast
Полный список параметров конфигурирования можете посмотреть введя configure -help.
Запускаем и ждём несколько минут). При этом подтверждаем согласие с лицензией (да да, и обязательно прочтите её).
Ну и затем:
nmake
Подождав некоторое (долгое время) запустим установку:
Запускаем и ждём несколько минут). При этом подтверждаем согласие с лицензией (да да, и обязательно прочтите её).
Ну и затем:
nmake
Подождав некоторое (долгое время) запустим установку:
nmake install
Лично у меня выдаёт ошибку с кодом 0x2 после nmake install, но библиотека всё равно работает. Не знаю в чём подвох, в интернете различных решений много, но в точности с моей проблемой я ничего не нашёл, работает и фиг с ней :)
В своей среде задаёте qmake из папки bin и собираете что хотите.
Ммм, мне больше понравилась статья про статическую сборку в Qt SDK, которая описана http://habrahabr.ru/post/152377/
ОтветитьУдалитьЧастично согласен. Статья на хабре шире и подробнее. Но и сборка под mingw попроще будет и рассчитана на уже установленную Qt SDK.
ОтветитьУдалитьНо практика показала что в редких случаях возникает необходимость собрать это дело под студию.
Я лично с этой проблемой сталкивался, когда во втором потоке проекта Qt + OpenCV приложение вылетало. И на тот момент решением была только сборка под студию.В следующей статье в скриншотах тоже добавлю как подключить библиотеку в Creator :)