Qt 4.7.* статическая сборка |
Здравствуйте, гость ( Вход | Регистрация )
Qt 4.7.* статическая сборка |
Mac |
14.4.2014, 0:00
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 21.4.2012 Пользователь №: 3337 Спасибо сказали: 0 раз(а) Репутация: 0 |
Пытаюсь собрать Qt 4.7.* с ключем -static c исходников
1) Скачал исходники с офф сайта 2) Конфигурирую со следующими ключами
3) Потом mingw32-make Возникает след ошибка: Mac, g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_MOC -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_AS CII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTST REAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -DQT_NODLL -I" ." -I"." -I"..\..\..\include" -I"..\..\..\include\QtCore" -I"..\..\..\include\Qt Xml" -I"..\..\xml" -I"..\..\..\mkspecs\win32-g++" -o release\main.o main.cpp g++ -enable-stdcall-fixup ,-enable-auto-import ,-enable-runtime-pseudo-reloc, -s tatic -static-libgcc -Wl,-s -Wl,-subsystem,console -mthreads -Wl -o ..\..\..\bin \moc.exe release/moc.o release/preprocessor.o release/generator.o release/parser .o release/token.o release/main.o -L"j:\devTools\Qt472Static\build\src\tools\bo otstrap\release" -lbootstrap -luser32 g++: error: ,-enable-auto-import: No such file or directory g++: error: ,-enable-runtime-pseudo-reloc,: No such file or directory g++: error: unrecognized command line option '-Wl' Makefile.Release:83: recipe for target '..\..\..\bin\moc.exe' failed mingw32-make[2]: *** [..\..\..\bin\moc.exe] Error 1 mingw32-make[2]: Leaving directory 'J:/devTools/Qt472Static/build/src/tools/moc' Makefile:34: recipe for target 'release' failed mingw32-make[1]: *** [release] Error 2 mingw32-make[1]: Leaving directory 'J:/devTools/Qt472Static/build/src/tools/moc' makefile:102: recipe for target 'sub-moc-make_default-ordered' failed mingw32-make: *** [sub-moc-make_default-ordered] Error 2 |
|
|
Mac |
14.4.2014, 3:32
Сообщение
#2
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 21.4.2012 Пользователь №: 3337 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Iron Bug |
14.4.2014, 7:34
Сообщение
#3
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
ну вот это
Цитата g++ -enable-stdcall-fixup ,-enable-auto-import ,-enable-runtime-pseudo-reloc, Цитата -Wl -o ..\..\..\bin явная чушь. конечно, компилятор это не сожрёт. а вот откуда она взялась - трудно сказать. что-то неправильно сконфигурировалось. |
|
|
Mac |
14.4.2014, 10:12
Сообщение
#4
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 21.4.2012 Пользователь №: 3337 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте !!
Я собрал Qt 5.2.1 без проблем в принципе ... В исходниках есть такой файл qmake.conf и лежит он в \..\Qt472Static\build\mkspecs\win32-g++ При сборке Qt 5.2.1 нужно было менять флаг м в он должен выглядеть примерно так: QMAKE_LFLAGS = -static -static-libgcc, но в случаи с Qt 4.7.* он выглядит след образом: QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc При этом я никаких флагов не дописываю ... Подскажите что делать , нужно максимально быстро собрать Qt 4.7.* статически .. Заранее СПАСИБО ! |
|
|
Iron Bug |
14.4.2014, 11:42
Сообщение
#5
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
неправильно указаны флаги. должно быть:
Цитата -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc двойные тире перед параметрами линкера. |
|
|
Mac |
14.4.2014, 12:30
Сообщение
#6
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 21.4.2012 Пользователь №: 3337 Спасибо сказали: 0 раз(а) Репутация: 0 |
Там одиночные .. содержимое файла qmake.conf
Раскрывающийся текст # # qmake configuration for win32-g++ # # Written for MinGW # MAKEFILE_GENERATOR = MINGW TEMPLATE = app CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header QT += core gui DEFINES += UNICODE QT_LARGEFILE_SUPPORT QMAKE_COMPILER_DEFINES += __GNUC__ WIN32 QMAKE_EXT_OBJ = .o QMAKE_EXT_RES = _res.o QMAKE_CC = gcc QMAKE_LEX = flex QMAKE_LEXFLAGS = QMAKE_YACC = byacc QMAKE_YACCFLAGS = -d QMAKE_CFLAGS = QMAKE_CFLAGS_DEPS = -M QMAKE_CFLAGS_WARN_ON = -Wall QMAKE_CFLAGS_WARN_OFF = -w QMAKE_CFLAGS_RELEASE = -O2 QMAKE_CFLAGS_DEBUG = -g QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses QMAKE_CXX = g++ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD QMAKE_CXXFLAGS_RTTI_ON = -frtti QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions QMAKE_INCDIR = QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< QMAKE_LINK = g++ QMAKE_LINK_C = gcc QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl QMAKE_LFLAGS_EXCEPTIONS_OFF = QMAKE_LFLAGS_RELEASE = -Wl,-s QMAKE_LFLAGS_DEBUG = QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows QMAKE_LFLAGS_DLL = -shared QMAKE_LINK_OBJECT_MAX = 10 QMAKE_LINK_OBJECT_SCRIPT= object_script QMAKE_LIBS = QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 QMAKE_LIBS_NETWORK = -lws2_32 QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain !isEmpty(QMAKE_SH) { MINGW_IN_SHELL = 1 QMAKE_DIR_SEP = / QMAKE_QMAKE ~= s,\\\\,/, QMAKE_COPY = cp QMAKE_COPY_DIR = xcopy /s /q /y /i QMAKE_MOVE = mv QMAKE_DEL_FILE = rm QMAKE_MKDIR = mkdir QMAKE_DEL_DIR = rmdir QMAKE_CHK_DIR_EXISTS = test -d } else { QMAKE_COPY = copy /y QMAKE_COPY_DIR = xcopy /s /q /y /i QMAKE_MOVE = move QMAKE_DEL_FILE = del QMAKE_MKDIR = mkdir QMAKE_DEL_DIR = rmdir QMAKE_CHK_DIR_EXISTS = if not exist } QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe QMAKE_IDL = midl QMAKE_LIB = ar -ru QMAKE_RC = windres QMAKE_ZIP = zip -r -9 QMAKE_STRIP = strip QMAKE_STRIPFLAGS_LIB += --strip-unneeded load(qt_config) |
|
|
Mac |
14.4.2014, 13:05
Сообщение
#7
|
Студент Группа: Новичок Сообщений: 16 Регистрация: 21.4.2012 Пользователь №: 3337 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Iron Bug |
14.4.2014, 13:56
Сообщение
#8
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
это уже какие-то Qt-шные заморочки. я с Qt не работаю. может, там вообще нельзя статический дебаг собрать, я хз. ничего сказать не могу.
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 5:02 |