Даже если собирать Qt с ключом -static, то все равно Qt собирается с зависимостью от msvc*.dll, как и ваши проекты. В этой статье мы избавимся от зависимостей от MS Visual Studio.
Для начала скачайте исходные коды Qt, если вы ещё этого не сделали (можно с ftp сайта — https://ftp//ftp.trolltech.com/qt/source/ ) и распакуйте их. Или скачайте уже собранную Qt под Visual Studio, если вы являетесь счастливым обладателем коммерческой версии.
Далее мы меняем файл mkspecswin32-BLA-BLAqmake.conf, где ‘BLA-BLA‘ это версия вашей Visual Studio.
1 2 3 4 5 6 7 |
msvc для Visual Studio 6 msvc.net для Visual Studio.NET 2002-2003 msvc2005 для Visual Studio.NET 2005 msvc2008 для Visual Studio.NET 2008 |
Находим там:
1 2 3 |
QMAKE_CFLAGS_RELEASE = -O2 -MD QMAKE_CFLAGS_DEBUG = -Zi -MDd |
1 2 3 |
QMAKE_CFLAGS_RELEASE = -O2 -MT QMAKE_CFLAGS_DEBUG = -Zi -MTd |
1 |
CONFIG += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe |
1 |
CONFIG += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target |
В файлах находим:
1 |
QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest "$$replace(OBJECTS_DIR,/,\)\$${NOPATH_TARGET}.intermediate.manifest" -outputresource:$(DESTDIR_TARGET);1$$escape_expand(nt)) |
меняем на:
1 2 3 4 5 |
QMAKE_POST_LINK = $$quote(@if exist "$$replace(OBJECTS_DIR,/,\)\$${NOPATH_TARGET}.intermediate.manifest" mt.exe -nologo -manifest "$$replace(OBJECTS_DIR,/,\)\$${NOPATH_TARGET}.intermediate.manifest" -outputresource:$(DESTDIR_TARGET); 1$$escape_expand(nt)) |
Похожие записи: