LINUX.ORG.RU

Qt4. Компиляция static


0

0

Перекомпилировал КТ4 на static. Теперь MinGW не даёт компилировать программы. В чем дело вообще не пойму...

C:\Qt\4.3.3\bin\p>make mingw32-make -f Makefile.Debug all mingw32-make[1]: Entering directory `C:/Qt/4.3.3/bin/p' g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel oc -mthreads -Wl -Wl,-subsystem,windows -o debug\p.exe tmp/obj/debug_static/main .o -L"c:\Qt\4.3.3\lib" -L"c:\Qt\4.3.3\lib" -lmingw32 -lqtmaind -lQtGuid -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCored -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot fin d -lqtmaind collect2: ld returned 1 exit status mingw32-make[1]: *** [debug\p.exe] Error 1 mingw32-make[1]: Leaving directory `C:/Qt/4.3.3/bin/p' mingw32-make: *** [debug-all] Error 2

Я как понял он не находит ld.exe - что это и зачем? Как быть...

И как потом сделать так, чтобы не нужно было за собой таскать mingw10.dll?

anonymous

Re: Qt4. Компиляция static

> Я как понял он не находит ld.exe - что это и зачем? Как быть...

ld - это линковщик...

smh ★★★ ()

Re: Qt4. Компиляция static

Чтобы собирать статические сборки, Qt сначала саму нужно собрать с флагом -static

troorl ★★ ()

Re: Qt4. Компиляция static

хм, -static -debug имхо не самое лучшее решение. :)

если уж статика, но только с -release

Adjkru ★★★★★ ()

Re: Qt4. Компиляция static

ld.exe он нашел. Я так понимаю ругается ld.exe на опцию -lqtmaind. Это линковка с библиотекой qtmaind. Судя по строкам "-lqtmaind -lQtGuid" он пытается линковаться с динамической версией QT, которой сейчас уже нет. Скорее всего нужно просто пересобрать проект qmake. Если не поможет, то скорее всего qmake цепляет не тот спек, его можно указать руками.

vgudkov ()
Ответ на: Re: Qt4. Компиляция static от vgudkov

Re: Qt4. Компиляция static

> Судя по строкам "-lqtmaind -lQtGuid" он пытается линковаться с динамической версией QT, которой сейчас уже нет.

"d" означает не динамическую версию, а дебаговые либы. Которых, впрочем, тоже может не быть после пересборки qt с -static -release :)

Adjkru ★★★★★ ()
Ответ на: Re: Qt4. Компиляция static от vgudkov

Re: Qt4. Компиляция static

хотя вру бессовсетно... по -l он может и статическую библиотеку искать. => Возможные варианты: 1) не собрана debug версия qt 2) не пересобран проект 3) библиотек QT нет в путях линкера

vgudkov ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.