Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Qt 4.7.* статическая сборка
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt инструментарий
Mac
Пытаюсь собрать Qt 4.7.* с ключем -static c исходников

1) Скачал исходники с офф сайта
2) Конфигурирую со следующими ключами
configure -static -prefix "J:\devTools\Qt472Static\install" -debug-and-release -opensource -ltcg -qt-sql-sqlite -opengl desktop -platform win32-g++ -qmake -plugin-sql-sqlite

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
Или вот еще ...
Iron Bug
ну вот это
Цитата
g++ -enable-stdcall-fixup ,-enable-auto-import ,-enable-runtime-pseudo-reloc,

Цитата
-Wl -o ..\..\..\bin

явная чушь. конечно, компилятор это не сожрёт.
а вот откуда она взялась - трудно сказать. что-то неправильно сконфигурировалось.
Mac
Здравствуйте !!
Я собрал 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
неправильно указаны флаги. должно быть:
Цитата
-Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc

двойные тире перед параметрами линкера.
Mac
Там одиночные .. содержимое файла 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
Вот еще ошибка ....
Iron Bug
это уже какие-то Qt-шные заморочки. я с Qt не работаю. может, там вообще нельзя статический дебаг собрать, я хз. ничего сказать не могу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2018 IPS, Inc.