Название: Статическая Qt не компилирует проект Отправлено: Raks123 от Май 15, 2012, 07:28 Проблема такая - собрал статически Qt, но вот когда с помощью статического профиля собираешь проект выводится следующие:
g++ -static -static-libgcc -Wl,-s -Wl,-subsystem,windows -o release\Diplom.exe object_script.Diplom.Release -L"d:\Qt\4.8.1_static_fast\lib" -lmingw32 -lqtmain -lQtScript -lQtSql -lQtGui -lQtNetwork -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 d:\Qt\4.8.1_static_fast\lib\libQtScript.a(JITStubs.o):JITStubs.cpp:(.text+0x21): undefined reference to `cti_vm_throw' Собирал с помощью qt-win-opensource-4.8.1-mingw, qt-creator-win-opensource-2.4.1, qt-everywhere-opensource-src-4.8.1, ActivePerl 5.14.2.1402 Какие измениня вносил: edit the file Path-To-Qt-SDK\qt_static\mkspecs\win32-g++\qmake.conf and add the bold (with * ) marked stuff QMAKE_CFLAGS_RELEASE = -Os -momit-leaf-frame-pointer QMAKE_LFLAGS = -static -static-libgcc … DEFINES += QT_STATIC_BUILD edit Path-To-Qt-SDK\qt_static\qmake\Makefile.win32-g++ LFLAGS = -static -static-libgcc … edit Path-To-Qt-SDK\qt_static\src\3rdparty\webkit\WebKit.pri add CONFIG += staticlib on the top убрал опцию -mthreads. QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions QMAKE_LFLAGS_EXCEPTIONS_ON = QMAKE_LFLAGS_EXCEPTIONS_OFF = Пробовал собирать два раза. Во втором случае добавил -script -scripttools в конфигурацию сборки. SET QTDIR=D:\Qt\4.8.1_static_fast SET MINGWDIR=D:\Qt\qtcreator-2.4.1\mingw SET PERLDIR=D:\Perl SET QMAKESPEC=win32-g++ chdir /D %QTDIR% SET PATH=%QTDIR%\bin;%MINGWDIR%\bin;%SystemRoot%\System32;%PERLDIR%\site\bin;%PERLDIR%\bin cls echo -- MinGW Confclean -- mingw32-make confclean echo -- MinGW Configure -- configure.exe -static -debug-and-release -opensource -confirm-license -platform win32-g++ -exceptions -dont-process -no-qt3support -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -no-phonon -no-webkit -no-phonon-backend -script -scripttools echo -- MinGW Build -- bin\qmake.exe projects.pro QT_BUILD_PARTS="libs" JAVASCRIPTCORE_JIT="yes" mingw32-make Я только не давно собирал Qt статически, опыта еще в этом нет, а постоянно пересобирать по несколько часов - времени нет. Кто что посоветует по делу? Название: Re: Статическая Qt не компилирует проект Отправлено: madRoger от Май 15, 2012, 12:25 В проект не забыл добавить QT += script ?
Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Май 16, 2012, 12:52 Эм, нет, программа ведь работала
Название: Re: Статическая Qt не компилирует проект Отправлено: ctin от Май 21, 2012, 15:53 Получилось решить проблему?
Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Май 21, 2012, 18:40 Нет)))
Название: Re: Статическая Qt не компилирует проект Отправлено: ctin от Май 21, 2012, 19:04 Я частично решил проблему заменив QML на QStateMachine и QGraphicsView
Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Май 21, 2012, 19:09 а можно поподробней?
Название: Re: Статическая Qt не компилирует проект Отправлено: ctin от Май 21, 2012, 21:41 Конечно.
Я нашел несколько способов реализовывать анимацию без QML. Первый, самый приятный - через state machine. Для подробностей смотреть пример States. Второй - связка Q_PROPERTY и QPropertyAnimation. К примеру надо внедрить прозрачность: переопределяем paintEvent, где рисуем картинку с учетом прозрачности (типа setBrush(QColor(50, 50, 50, m_opacity));). Регистрируем Q_PROPERTY (int m_opacity READ getOpacity WRITE setOpacity) и можно будет использовать QPropertyAnimation как здесь: http://doc.trolltech.com/4.7/qpropertyanimation.html. Третий - через таймер и обновление картинки по таймеру. Считаю его самым геморным. По большому счету каждый способ есть в нескольких примерах. Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Май 21, 2012, 21:52 Так то прикольно сообразил)))) Только вот у меня в программе ничего этого нету) Я пересобиру, поставлю паузу в конец, может он собирает че то криво
Название: Re: Статическая Qt не компилирует проект Отправлено: OKTA от Июнь 20, 2012, 19:01 1. в qmake.conf добавляй только -static - на остальное забей
2. -no-exceptions Вместо -exceptions 3. Не нужен perl 4. убери все -script и -scripttools - добавь только -declarative и будет тебе счастье)) Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Июнь 20, 2012, 21:55 А изменения в файле оставить?
Название: Re: Статическая Qt не компилирует проект Отправлено: OKTA от Июнь 20, 2012, 21:59 возьми свежий и добавь только -static
Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Июнь 20, 2012, 22:00 Ну а я хочу от мингвшного файлика избавиться))))
Название: Re: Статическая Qt не компилирует проект Отправлено: OKTA от Июнь 20, 2012, 22:08 Избавишься, не переживай)))
вот qmake.conf: Код: # Вот такой configure: Код: configure -opensource ^ главное -static -platform win32-g++ -no-exceptions Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Июнь 20, 2012, 22:10 А версия библиотек?
Название: Re: Статическая Qt не компилирует проект Отправлено: OKTA от Июнь 20, 2012, 22:14 4.8.2 mingw)
Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Июнь 20, 2012, 22:20 Спасибо)))) А есть ссылочка чтобы статические для линуха и виндовс одновременно собрать?
Название: Re: Статическая Qt не компилирует проект Отправлено: OKTA от Июнь 20, 2012, 22:23 Одновременно?)) это как?)
Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Июнь 20, 2012, 22:25 Слушай, а как кроссплатформ то вообще в теории делается?))))
Название: Re: Статическая Qt не компилирует проект Отправлено: OKTA от Июнь 20, 2012, 22:29 ну..ээммм)) проект один! но на каждой платформе надо отдельно компилировать! Можно конечно почитать про кросс-компиляцию, но я только одним ухом про это слышал, так что подробней ничего не скажу))
Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Июнь 20, 2012, 22:30 Вот я про кросскомпиляцию имел ввиду))) Ща так то ваще времени нету этим заниматься, я ща отучился и в армию ;D
Название: Re: Статическая Qt не компилирует проект Отправлено: OKTA от Июнь 20, 2012, 22:33 ))) ну ты даешь))
Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Июнь 20, 2012, 22:35 А на линухе че как делается знашь?)) Вообще какой лучше то поставить?
Название: Re: Статическая Qt не компилирует проект Отправлено: OKTA от Июнь 20, 2012, 22:36 да там еще проще))))) но в целом точно так же все далется)) пути только другие и все! ставь Ubuntu И радуйся жизни!
Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Июнь 20, 2012, 22:41 Ну все, спасибо)))) Хз тока че армия из меня сделает, но потом эксперименты поставлю ;D
Название: Re: Статическая Qt не компилирует проект Отправлено: OKTA от Июнь 20, 2012, 22:44 удачи 8)
Название: Re: Статическая Qt не компилирует проект Отправлено: Raks123 от Июнь 20, 2012, 22:46 И тебе счастливо :D
|