Мне нужно создать 64-битную программу Qt5, которая ссылается на статические библиотеки .lib (скомпилированные с / MT). Я попытался изменить строки ниже с MD на MT:
QMAKE_CFLAGS_RELEASE = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi –MTd
В файле D: \ Qt \ Qt5.0.0src \ qtbase \ mkspecs \ win32-msvc2010 \ qmake.conf
И перекомпилируя его с помощью
configure -prefix %CD%\qtbase -debug-and-release -opensource -platform win32-msvc2010 -opengl desktop
А затем создать его, но это не удалось:
XPathGrammar.cpp
Generating Code...
lib /NOLOGO /OUT:release\WebCore.lib @C:\Users\Paul\AppData\Local\Temp\WebCore.lib.4480.3319717.jom
LINK : fatal error LNK1181: cannot open input file '.obj\release_shared\SettingsMacros.obj'
jom: D:\Qt\Qt5.0.0src\qtwebkit\Source\WebCore\Makefile.WebCore.Target.Release [release\WebCore.lib] Error 1181
jom: D:\Qt\Qt5.0.0src\qtwebkit\Source\WebCore\Makefile.WebCore.Target [release] Error 2
jom: D:\Qt\Qt5.0.0src\qtwebkit\Source\WebCore\Makefile.WebCore [sub-Target-pri-make_first-ordered] Error 2
jom: D:\Qt\Qt5.0.0src\qtwebkit\Makefile [sub-Source-WebCore-WebCore-pro-make_first-ordered] Error 2
jom: D:\Qt\Qt5.0.0src\Makefile [module-qtwebkit-make_first] Error 2
Похоже, что файл "SettingsMacros.obj" не создается. Это почему?
Нужно ли мне включать "-static" в строку конфигурации? Я знаю, что Qt не ладит с / MT, но в противном случае моему проекту он нужен. не сможет связать эти файлы .lib
1 ответ
Да, вам нужно добавить -static
. Работал у меня.
Похожие вопросы
Новые вопросы
c++
C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который должен быть) скомпилирован с помощью компилятора C ++. Используйте тег для конкретной версии для вопросов, связанных с конкретной версией стандарта [C ++ 11], [C ++ 14], [C ++ 17], [C ++ 20] или [C ++ 23] и т. Д. .