Название: Статическая сборка Qt, vs2008.
Отправлено: NkuNLANfT от Декабрь 15, 2009, 21:42
Здравствуйте. Пытаюсь собрать Qt 4.6 для VS2008, параметры конфигурации: configure -debug-and-release -qt-libpng -qt-libjpeg -static -platform win32-msvc2008 -no-phonon -no-webkit -no-phonon-backend -plugin-sql-odbc -plugin-sql-sqlite -no-sql-sqlite -qt-zlib -qt-gif -qt-libmng -qt-libtiff Сборка заканчивается ошибками: moc_qtdocinstaller.cpp moc_remotecontrol_win.cpp Generating Code... cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MTd -W3 -w34100 -w34189 -GR -EHsc -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DUSE_STATIC_SQLITE_PLUGIN -DQT_SQL_LI B -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT - I"..\..\..\..\include\QtCore" -I"..\..\..\..\include\QtNetwork" -I"..\..\..\..\i nclude\QtGui" -I"..\..\..\..\include\QtXml" -I"..\..\..\..\include\QtSql" -I"..\ ..\..\..\include" -I"..\..\..\..\include\QtHelp" -I"..\..\..\shared\fontpanel" - I"..\..\..\..\include\ActiveQt" -I"tmp\moc\debug_static" -I"." -I"..\..\..\..\mk specs\win32-msvc2008" -Fotmp\obj\debug_static\ @C:\DOCUME~1\9335~1\LOCALS~1\Temp \nm638.tmp qrc_assistant.cpp qrc_assistant_images.cpp Generating Code... link /LIBPATH:"d:\Qt\qt-vc-4.6.0\lib" /LIBPATH:"d:\Qt\qt-vc-4.6.0\lib" / NOLOGO /DEBUG /MANIFEST /MANIFESTFILE:"tmp\obj\debug_static\assistant.intermedia te.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsof t.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' l anguage='*' processorArchitecture='*'" /OUT:..\..\..\..\bin\assistant.exe @C:\DO CUME~1\9335~1\LOCALS~1\Temp\nm639.tmp main.obj : error LNK2019: unresolved external symbol "class QObject * __cdecl qt _plugin_instance_qsqlite(void)" (?qt_plugin_instance_qsqlite@@YAPAVQObject@@XZ) referenced in function "public: __thiscall StaticqsqlitePluginInstance::Staticqs qlitePluginInstance(void)" (??0StaticqsqlitePluginInstance@@QAE@XZ) ..\..\..\..\bin\assistant.exe : fatal error LNK1120: 1 unresolved externals NMAKE : fatal error U1077: '"D:\Microsoft Visual Studio 9.0\VC\BIN\link.EXE"' : return code '0x460' Stop. NMAKE : fatal error U1077: '"D:\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop.
D:\Qt\qt-vc-4.6.0> Подскажите пожалуйста, что не так делаю. Кстати, почему-то у меня параметр -no-assistant-webkit не хочет работать (unknown option). С меньшим набором параметров (configure -debug-and-release -static) тоже были ошибки. Добавю, что в соответствии с рекомендациями вот тут (http://prog.org.ru/wiki/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_Qt_%D0%B1%D0%B5%D0%B7_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9_%28MS_Visual_Studio%29) правил файлы.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: crackedmind от Декабрь 16, 2009, 04:39
-plugin-sql-sqlite -no-sql-sqlite Что это? сначала разрешаете плагин sqlite, а потом запрещаете? :) Поэтому сборка и трещит, ассистенту нужен этот плагин -no-assistant-webkitC 4.5 такой опции не существует...
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: NkuNLANfT от Декабрь 16, 2009, 05:49
Что это? сначала разрешаете плагин sqlite, а потом запрещаете? :) Да это я где-то подсмотрел, сам, если честно, мягко говоря, новичок в этом деле. Но, к сожалению, проблема не в этом. Пробовал с другим набором параметров: configure -static -debug-and-release -platform win32-msvc2008 -qt-libpng -qt-libjpeg -qt-zlib -qt-gif -qt-libmng -qt-libtiff Результат: D:\Qt\4.6.0\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DPHONO N_MAKE_QT_ONLY_BACKEND -DQT_STATICPLUGIN -DQT_PLUGIN -DQT_PHONON_LIB -DQT_GUI_LI B -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"..\..\..\..\include\QtCore" -I"..\..\..\. .\include\QtGui" -I"..\..\..\..\include\phonon" -I"..\..\..\..\include" -I"..\.. \..\..\include\ActiveQt" -I"..\..\..\..\include\phonon_compat\phonon" -I"..\..\. .\..\include\phonon_compat" -I"..\..\..\..\include\phonon\Phonon" -I"tmp\moc\deb ug_static" -I"..\..\..\..\mkspecs\win32-msvc2008" -D_MSC_VER=1500 -DWIN32 ..\..\ ..\3rdparty\phonon\ds9\mediaobject.h -o tmp\moc\debug_static\moc_mediaobject.cpp
D:\Qt\4.6.0\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DPHONO N_MAKE_QT_ONLY_BACKEND -DQT_STATICPLUGIN -DQT_PLUGIN -DQT_PHONON_LIB -DQT_GUI_LI B -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"..\..\..\..\include\QtCore" -I"..\..\..\. .\include\QtGui" -I"..\..\..\..\include\phonon" -I"..\..\..\..\include" -I"..\.. \..\..\include\ActiveQt" -I"..\..\..\..\include\phonon_compat\phonon" -I"..\..\. .\..\include\phonon_compat" -I"..\..\..\..\include\phonon\Phonon" -I"tmp\moc\deb ug_static" -I"..\..\..\..\mkspecs\win32-msvc2008" -D_MSC_VER=1500 -DWIN32 ..\..\ ..\3rdparty\phonon\ds9\videowidget.h -o tmp\moc\debug_static\moc_videowidget.cpp
D:\Qt\4.6.0\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DPHONO N_MAKE_QT_ONLY_BACKEND -DQT_STATICPLUGIN -DQT_PLUGIN -DQT_PHONON_LIB -DQT_GUI_LI B -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"..\..\..\..\include\QtCore" -I"..\..\..\. .\include\QtGui" -I"..\..\..\..\include\phonon" -I"..\..\..\..\include" -I"..\.. \..\..\include\ActiveQt" -I"..\..\..\..\include\phonon_compat\phonon" -I"..\..\. .\..\include\phonon_compat" -I"..\..\..\..\include\phonon\Phonon" -I"tmp\moc\deb ug_static" -I"..\..\..\..\mkspecs\win32-msvc2008" -D_MSC_VER=1500 -DWIN32 ..\..\ ..\3rdparty\phonon\ds9\volumeeffect.h -o tmp\moc\debug_static\moc_volumeeffect.c pp cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MTd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DPHONON_MAKE_QT_ONLY_BACKEND -DQT_STA TICPLUGIN -DQT_PLUGIN -DQT_PHONON_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUP PORT -I"..\..\..\..\include\QtCore" -I"..\..\..\..\include\QtGui" -I"..\..\..\.. \include\phonon" -I"..\..\..\..\include" -I"..\..\..\..\include\ActiveQt" -I"..\ ..\..\..\include\phonon_compat\phonon" -I"..\..\..\..\include\phonon_compat" -I" ..\..\..\..\include\phonon\Phonon" -I"tmp\moc\debug_static" -I"..\..\..\..\mkspe cs\win32-msvc2008" -Fotmp\obj\debug_static\ @C:\DOCUME~1\9335~1\LOCALS~1\Temp\nm 38C.tmp abstractvideorenderer.cpp audiooutput.cpp backend.cpp ..\..\..\3rdparty\phonon\ds9\backend.cpp(69) : error C2227: left of '->m_directS howMutex' must point to class/struct/union/generic type ..\..\..\3rdparty\phonon\ds9\backend.cpp(69) : error C3861: 'qt_plugin_instance' : identifier not found backendnode.cpp effect.cpp fakesource.cpp iodevicereader.cpp mediagraph.cpp mediaobject.cpp videowidget.cpp videorenderer_soft.cpp videorenderer_vmr9.cpp volumeeffect.cpp qbasefilter.cpp qpin.cpp qasyncreader.cpp qaudiocdreader.cpp qmeminputpin.cpp Generating Code... NMAKE : fatal error U1077: '"D:\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : re turn code '0x2' Stop. NMAKE : fatal error U1077: '"D:\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop.
D:\Qt\4.6.0>
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: crackedmind от Декабрь 16, 2009, 08:10
Это баг в Phonon'e. В 4.6.1 пофиксили его. Можно либо версию из гита взять :) либо исключить из сборки phonon...
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: NkuNLANfT от Декабрь 16, 2009, 16:35
configure -static -debug-and-release -platform win32-msvc2008 -qt-libpng -qt-libjpeg -qt-zlib -qt-gif -qt-libmng -qt-libtiff -no-phonon -no-phono-backend Таким образом я исключаю phonon, так? Получается вот, что: moc_remotecontrol.cpp moc_aboutdialog.cpp moc_qtdocinstaller.cpp moc_remotecontrol_win.cpp Generating Code... cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MTd -W3 -w34100 -w34189 -GR -EHsc -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DUSE_STATIC_SQLITE_PLUGIN -DQT_WEBKIT _LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_ THREAD_SUPPORT -I"..\..\..\..\include\QtCore" -I"..\..\..\..\include\QtNetwork" -I"..\..\..\..\include\QtGui" -I"..\..\..\..\include\QtXml" -I"..\..\..\..\inclu de\QtSql" -I"..\..\..\..\include\QtWebKit" -I"..\..\..\..\include" -I"..\..\..\. .\include\QtHelp" -I"..\..\..\shared\fontpanel" -I"..\..\..\..\include\ActiveQt" -I"tmp\moc\debug_static" -I"." -I"..\..\..\..\mkspecs\win32-msvc2008" -Fotmp\ob j\debug_static\ @C:\DOCUME~1\9335~1\LOCALS~1\Temp\nm29B.tmp qrc_assistant.cpp qrc_assistant_images.cpp Generating Code... link /LIBPATH:"d:\Qt\4.6.0\lib" /LIBPATH:"d:\Qt\4.6.0\lib" /NOLOGO /DEBU G /MANIFEST /MANIFESTFILE:"tmp\obj\debug_static\assistant.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Co mmon-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /OUT:..\..\..\..\bin\assistant.exe @C:\DOCUME~1\9335~ 1\LOCALS~1\Temp\nm29C.tmp Creating library ..\..\..\..\bin\assistant.lib and object ..\..\..\..\bin\ass istant.exp main.obj : error LNK2019: unresolved external symbol "class QObject * __cdecl qt _plugin_instance_qsqlite(void)" (?qt_plugin_instance_qsqlite@@YAPAVQObject@@XZ) referenced in function "public: __thiscall StaticqsqlitePluginInstance::Staticqs qlitePluginInstance(void)" (??0StaticqsqlitePluginInstance@@QAE@XZ) ..\..\..\..\bin\assistant.exe : fatal error LNK1120: 1 unresolved externals NMAKE : fatal error U1077: '"D:\Microsoft Visual Studio 9.0\VC\BIN\link.EXE"' : return code '0x460' Stop. NMAKE : fatal error U1077: '"D:\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop.
D:\Qt\4.6.0> Посоветуйте, пожалуйста, что-то ещё.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: Mikhail от Декабрь 16, 2009, 18:03
Все повторить по новой в новом каталоге Qt. И при статической компиляции Qt не следует использовать опции типа -plugin-sql-sqlite.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: NkuNLANfT от Декабрь 16, 2009, 18:07
Последние два раза такие опции и не использовал, но попробую ещё раз.
Попробовал: moc_remotecontrol.cpp moc_aboutdialog.cpp moc_qtdocinstaller.cpp moc_remotecontrol_win.cpp Generating Code... cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MTd -W3 -w34100 -w34189 -GR -EHsc -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DUSE_STATIC_SQLITE_PLUGIN -DQT_WEBKIT _LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_ THREAD_SUPPORT -I"..\..\..\..\include\QtCore" -I"..\..\..\..\include\QtNetwork" -I"..\..\..\..\include\QtGui" -I"..\..\..\..\include\QtXml" -I"..\..\..\..\inclu de\QtSql" -I"..\..\..\..\include\QtWebKit" -I"..\..\..\..\include" -I"..\..\..\. .\include\QtHelp" -I"..\..\..\shared\fontpanel" -I"..\..\..\..\include\ActiveQt" -I"tmp\moc\debug_static" -I"." -I"..\..\..\..\mkspecs\win32-msvc2008" -Fotmp\ob j\debug_static\ @C:\DOCUME~1\9335~1\LOCALS~1\Temp\nm283.tmp qrc_assistant.cpp qrc_assistant_images.cpp Generating Code... link /LIBPATH:"d:\Qt\4.6.0-vs2008\lib" /LIBPATH:"d:\Qt\4.6.0-vs2008\lib" /NOLOGO /DEBUG /MANIFEST /MANIFESTFILE:"tmp\obj\debug_static\assistant.intermed iate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Micros oft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /OUT:..\..\..\..\bin\assistant.exe @C:\ DOCUME~1\9335~1\LOCALS~1\Temp\nm284.tmp Creating library ..\..\..\..\bin\assistant.lib and object ..\..\..\..\bin\ass istant.exp main.obj : error LNK2019: unresolved external symbol "class QObject * __cdecl qt _plugin_instance_qsqlite(void)" (?qt_plugin_instance_qsqlite@@YAPAVQObject@@XZ) referenced in function "public: __thiscall StaticqsqlitePluginInstance::Staticqs qlitePluginInstance(void)" (??0StaticqsqlitePluginInstance@@QAE@XZ) ..\..\..\..\bin\assistant.exe : fatal error LNK1120: 1 unresolved externals NMAKE : fatal error U1077: '"D:\Microsoft Visual Studio 9.0\VC\BIN\link.EXE"' : return code '0x460' Stop. NMAKE : fatal error U1077: '"D:\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop.
D:\Qt\4.6.0-vs2008> При этом Qt удалял и ставил заново. Может я что-то упускаю? Опишу свои действия: 1. Скачиваю qt-win-opensource-4.6.0-vs2008.exe, устанавливаю (не на системный диск, но разве это имеет значение?). 2. Вношу измения в файлы, как описано тут (http://prog.org.ru/wiki/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_Qt_%D0%B1%D0%B5%D0%B7_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9_%28MS_Visual_Studio%29) (второй способ). 3. Visual Studio 2008 command promt, перехожу в папку с Qt, configure с параметрами: -static -debug-and-release -platform win32-msvc2008 -qt-libpng -qt-libjpeg -qt-zlib -qt-gif -qt-libmng -qt-libtiff -no-phonon -no-phonon-backend 4. nmake, через несколько часов получаю ошибки.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: NkuNLANfT от Декабрь 17, 2009, 03:45
Прошу прощения за то, что апаю топик, но уже не знаю, что делать, гуглить пробовал - подходящих советов не нашел, у самого идей нет.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: Mikhail от Декабрь 17, 2009, 08:54
Читаем файл INSTALL:
If you need to reconfigure and rebuild Qt from the same location, ensure that all traces of the previous configuration are removed by entering the build directory and typing
nmake confclean
before running the configure script again.
Выполни перед configure очистку конфигурации - после установки с использованием qt-win-opensource-4.6.0-vs2008.exe.
В опциях конфигурации вместо -debug-and-release используй -release
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: lit-uriy от Декабрь 17, 2009, 10:11
Михаил, если пользоваться установщиком, то мэйкфайла не будет (до запуска configure), т.е. если Qt именно установили на чисто, то в первый раз просто запускается configure, а вот перед последующими переконфигурациями нужно запускать {n}make confclean
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: Dendy от Декабрь 17, 2009, 10:34
Да, и если вам лично этот SQLite не нужен, то совершенно нет надобности пересобирать всю библиотеку. После конфигурации делаете: Bash cd src/tools nmake cd ../corelib nmake cd ../gui nmake
И так далее, собираете только то, что вам нужно. Порядок не важен, ибо исполняемые файлы не создаются (кроме тех что в src/tools, но вы и их можете не собирать - просто скопируйте moc, rcc и uic из уже готовой сборки). И правда ведь, зачем вам Ассистант и прочий инструментарий в статической сборке.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: NkuNLANfT от Декабрь 18, 2009, 00:23
Да, и если вам лично этот SQLite не нужен, то совершенно нет надобности пересобирать всю библиотеку. Большое спасибо, собирать по частям я не догадался. В опциях конфигурации вместо -debug-and-release используй -release
Можно узнать почему? Я так и сделал и, вроде, примерно понимаю разницу, но на это есть какие-то причины или нет? И ещё два глупых вопроса: Решил книгу по Qt почитать, нашел "Qт 4 программирование GUI на С++" под авторством Бланшет и Саммерфилд. Первые два простых примерах (надпись и кнопка) - всё ок, а вот третий пример показывающий синхронизацию двух виджетов почему-то не работает как надо. #include <QtGui/QApplication>
#include <QHBoxLayout> #include <QSlider> #include <QSpinBox>
int main(int argc, char *argv[]) { QApplication app(argc, argv);
QWidget *window = new QWidget; window->setWindowTitle("test"); QSpinBox *spinBox = new QSpinBox; QSlider *slider = new QSlider(Qt::Horizontal); spinBox->setRange(0, 130); slider->setRange(0, 130); QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValude(int))); QObject::connect(slider, SIGNAL(valudeChanged(int)), spinBox, SLOT(setValude(int))); spinBox->setValue(35);
QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(spinBox); layout->addWidget(slider); window->setLayout(layout); window->show();
return app.exec(); } Программа компилируется и запускается, но слайдер и спинбокс не взаимодействуют и изначально положение слайдера не соответствует значению в спинбоксе. Что не так? Второй вопрос - размер программы 5,45 мб - это нормально?
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: Dendy от Декабрь 18, 2009, 00:42
QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValude(int))); QObject::connect(slider, SIGNAL(valudeChanged(int)), spinBox, SLOT(setValude(int)));
valude - три раза. При запуске с консоли должно посыпать ошибками, что таких сигналов/слотов нет. Будьте бдительны. Второй вопрос - размер программы 5,45 мб - это нормально?
Для статической сборки, а тем более для дебажной - да.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: NkuNLANfT от Декабрь 18, 2009, 01:02
valude - три раза. Действительно... аж стыдно, что такую глупость проглядел. При запуске с консоли должно посыпать ошибками, что таких сигналов/слотов нет. Будьте бдительны.
Я почему-то ожидал, что студия будет указывать на ошибки, этого и не должно быть? Для статической сборки, а тем более для дебажной - да.
А как мне собрать релизную версию?
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: crackedmind от Декабрь 18, 2009, 01:36
nmake release например :)
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: Dendy от Декабрь 18, 2009, 02:03
Я почему-то ожидал, что студия будет указывать на ошибки, этого и не должно быть?
Соединение сигналов и слотов происходит в рантайме, компилятор ошибку в сигнатуре определить не может. Собирайте консольные проекты для дебага - там в выводе увидите ошибку как только выполнение программы дойдёт до неверного соединения сигналов/слотов. Или воспользуйтесь qInstallMsgHandler(), чтобы перехватить сообщение об ошибке в свою функцию. А как мне собрать релизную версию?
Если не указывали явно тип сборки Debug при configure - то можно просто вызвать: nmake -f Makefile.Release в корне Qt.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: crackedmind от Декабрь 18, 2009, 02:39
Dendy Файл не обязательно указывать то. Достаточно цель для сборки :) обрабатывается Makefile и передается управление в Makefile.Release (или Debug) :)
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: NkuNLANfT от Декабрь 18, 2009, 02:41
Если не указывали явно тип сборки Debug при configure - то можно просто вызвать: nmake -f Makefile.Release в корне Qt.
Правильно я понимаю, что если при конфигурации указал -release (а не -debug-and-release или -debug), то в любом случае будет релизная версия?
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: Dendy от Декабрь 18, 2009, 04:31
Файл не обязательно указывать то. Достаточно цель для сборки :) обрабатывается Makefile и передается управление в Makefile.Release (или Debug) :)
Спасибо, буду знать! (-; Но у вызова непосредственно мейкфайла через Makefile.Debug (Release) есть одно преимущество - можно указывать таргеты без уточнения к какому типу сборки они относятся.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: Dendy от Декабрь 18, 2009, 04:32
Правильно я понимаю, что если при конфигурации указал -release (а не -debug-and-release или -debug), то в любом случае будет релизная версия?
Всё верно.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: NkuNLANfT от Декабрь 18, 2009, 15:12
Ясно, спасибо за ответы.
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: 0x0001 от Март 07, 2010, 04:35
win32-VS2008: а я Проблему так м не смог решить, выдаёт как и у NkuNLANfT: (пробовал все варианты) main.obj : error LNK2019: unresolved external symbol "class QObject * __cdecl qt _plugin_instance_qsqlite(void)" (?qt_plugin_instance_qsqlite@@YAPAVQObject@@XZ) referenced in function "public: __thiscall StaticqsqlitePluginInstance::Staticqs qlitePluginInstance(void)" (??0StaticqsqlitePluginInstance@@QAE@XZ) ..... Что делать ?? Неужели невозможно нормально поставить QT версии 4.6.x с ключёми -static ?
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: Elron от Апрель 07, 2010, 17:04
Аналогичная проблема, может кто-нибудь сделает видео как он это сделал и с какой версией делал ?!
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: Danila_Bagrofff от Сентябрь 01, 2010, 12:45
Тоже теперь собираю сборку под vis.studio 2009. Столкнулся с проблемой: Setting environment for using Microsoft Visual Studio 2008 x86 tools.
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC>cd c:\qt-4.6.3
c:\Qt-4.6.3>nmake
Служебная программа обслуживания программ Microsoft (R), версия 9.00.30729.01 (C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
C:\Qt-4.6.3\bin\qmake C:/Qt-4.6.3/\projects.pro -o Makefile -spec win32 -msvc2005 "C:\Qt-4.6.3\bin\qmake" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. NMAKE : fatal error U1077: C:\Qt-4.6.3\bin\qmake: возвращенный код "0x1" Stop.
Что не так?)
Название: Re: Статическая сборка Qt, vs2008.
Отправлено: Mikhail от Сентябрь 01, 2010, 14:20
Отсутствует путь на (QTDIR)/bin. Прочитайте внимательно инструкцию по сборке
|