Как настроить Qt Creator для компиляции исполняемых файлов Windows?

Версия Qt Creator, которая отправляется в репозитории. может компилировать исполняемые файлы Linux из коробки. Тем не менее, кажется, что для его компиляции приложений Windows требуется какая-то конфигурация.

У меня установлен набор инструментов Mingw32, и у меня есть доступ к сборке Windows из библиотек Qt.

Какие шаги я должен предпринять, чтобы сделать эту работу?

3
задан 30 April 2011 в 03:55

30 ответов

здесь является руководством по установке. Установка библиотек Qt в Wine

Теперь загрузите Qt SDK и установите его в винной среде. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для обеспечения совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте ее здесь.
cd /tmp
wget http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.4-mingw.exe
wine qt-win-opensource-4.7.4-mingw.exe

Теперь загрузите Qt SDK и установите его в винную среду. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте это здесь.

Последняя команда запускает установщик, как если бы он был включен среды Windows. НЕ запускайте его как sudo! Во время установки вам будет предложено, чтобы MinGW отсутствовал: это совершенно нормально и может быть проигнорировано.

wine regedit

После успешной установки нам нужно установить переменную окружения PATH в Wine, так как она для по какой-то причине, не устанавливается автоматически установщиком Qt. Просто запустите:

и перейдите к «HKEY_CURRENT_USER / Окружающая среда». Щелкните правой кнопкой мыши и добавьте новое строковое значение с именем «Путь». Дважды щелкните по нему, чтобы изменить, и установите его значение в «c: \ windows; c: \ windows \ system; c: \ Qt \ 4.7.4 \ bin». Подробнее о настройке переменных окружения см. В руководстве пользователя Wine.

Определение кросс-компиляции qmake environment

cp -Rfp /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

Теперь для сложной части. Программы Qt обычно скомпилируются с помощью qmake, который заботится о настройке правильных параметров компилятора. Для этой цели для целевой платформы требуются определенные файлы конфигурации. Нам нужно создать такой конфигурационный файл, предназначенный для кросс-компиляции. В качестве шаблона мы будем использовать конфигурационный файл win32, поэтому сначала создадим копию связанной среды:

#
# 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        = i586-mingw32msvc-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       = i586-mingw32msvc-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        = /usr/i586-mingw32msvc/include/
QMAKE_INCDIR_QT     = /home/matteo/.wine/drive_c/Qt/4.7.4/include
QMAKE_LIBDIR_QT     = /home/matteo/.wine/drive_c/Qt/4.7.4/lib

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      = i586-mingw32msvc-g++
QMAKE_LINK_C        = i586-mingw32msvc-gcc
QMAKE_LFLAGS        = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows
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-qt4
QMAKE_UIC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic-qt4
QMAKE_IDC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc-qt4

QMAKE_IDL       = midl
QMAKE_LIB       = ar -ru
QMAKE_RC        = i586-mingw32msvc-windres
QMAKE_ZIP       = zip -r -9

QMAKE_STRIP     = i586-mingw32msvc-strip
QMAKE_STRIPFLAGS_LIB    += --strip-unneeded
load(qt_config)

Нам нужно отредактировать / usr / share / qt4 / mkspecs / win32-x-g ++ /qmake.conf и замените компиляторы gcc и g ++ по умолчанию на кросс-компиляторы, предоставленные пакетом MinGW, а также другие параметры. Наш взгляд выглядит так:

Совет. Если вы столкнулись с какими-либо проблемами при настройке файла конфигурации, посмотрите на скрипт, который поставляется с этим руководством, который автоматизирует каждый отдельный шаг.

[d12 ] Бонус: настройка среды кросс-архитектуры

echo "QMAKE_LIBDIR_QT         = /usr/lib32/" >>/usr/share/qt4/mkspecs/linux-g++-32/qmake.conf

Многие новые машины построены с 64-битной архитектурой. Если вы разрабатываете один из них, есть вероятность, что вы также хотите создать 32-битные двоичные файлы, которые можно запускать на старых компьютерах. Это легко достигается, поскольку пакет Ubuntu предоставляет обе версии библиотек. В конфигурационный файл добавляется только одна строка, сделайте это, выполнив:

Acquire a payed license for Qt from Nokia. Their support desk will then provide 64-bit binaries upon request.
Download the source code from the Nokia website, and compile Qt yourself for 64-bit environments.
Download and install unofficial (untrusted!) binaries you might be able to find in the Internet.
0
ответ дан 25 May 2018 в 21:47

здесь является руководством по установке. Установка библиотек Qt в Wine

Теперь загрузите Qt SDK и установите его в винной среде. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для обеспечения совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте ее здесь. cd /tmp wget http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.4-mingw.exe wine qt-win-opensource-4.7.4-mingw.exe

Теперь загрузите Qt SDK и установите его в винную среду. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте это здесь.

Последняя команда запускает установщик, как если бы он был включен среды Windows. НЕ запускайте его как sudo! Во время установки вам будет предложено, чтобы MinGW отсутствовал: это совершенно нормально и может быть проигнорировано.

wine regedit

После успешной установки нам нужно установить переменную окружения PATH в Wine, так как она для по какой-то причине, не устанавливается автоматически установщиком Qt. Просто запустите:

и перейдите к «HKEY_CURRENT_USER / Окружающая среда». Щелкните правой кнопкой мыши и добавьте новое строковое значение с именем «Путь». Дважды щелкните по нему, чтобы изменить, и установите его значение в «c: \ windows; c: \ windows \ system; c: \ Qt \ 4.7.4 \ bin». Подробнее о настройке переменных окружения см. В руководстве пользователя Wine.

Определение кросс-компиляции qmake environment

cp -Rfp /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

Теперь для сложной части. Программы Qt обычно скомпилируются с помощью qmake, который заботится о настройке правильных параметров компилятора. Для этой цели для целевой платформы требуются определенные файлы конфигурации. Нам нужно создать такой конфигурационный файл, предназначенный для кросс-компиляции. В качестве шаблона мы будем использовать конфигурационный файл win32, поэтому сначала создадим копию связанной среды:

# # 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 = i586-mingw32msvc-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 = i586-mingw32msvc-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 = /usr/i586-mingw32msvc/include/ QMAKE_INCDIR_QT = /home/matteo/.wine/drive_c/Qt/4.7.4/include QMAKE_LIBDIR_QT = /home/matteo/.wine/drive_c/Qt/4.7.4/lib 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 = i586-mingw32msvc-g++ QMAKE_LINK_C = i586-mingw32msvc-gcc QMAKE_LFLAGS = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows 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-qt4 QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic-qt4 QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc-qt4 QMAKE_IDL = midl QMAKE_LIB = ar -ru QMAKE_RC = i586-mingw32msvc-windres QMAKE_ZIP = zip -r -9 QMAKE_STRIP = i586-mingw32msvc-strip QMAKE_STRIPFLAGS_LIB += --strip-unneeded load(qt_config)

Нам нужно отредактировать / usr / share / qt4 / mkspecs / win32-x-g ++ /qmake.conf и замените компиляторы gcc и g ++ по умолчанию на кросс-компиляторы, предоставленные пакетом MinGW, а также другие параметры. Наш взгляд выглядит так:

Совет. Если вы столкнулись с какими-либо проблемами при настройке файла конфигурации, посмотрите на скрипт, который поставляется с этим руководством, который автоматизирует каждый отдельный шаг.

Бонус: настройка среды кросс-архитектуры

echo "QMAKE_LIBDIR_QT = /usr/lib32/" >>/usr/share/qt4/mkspecs/linux-g++-32/qmake.conf

Многие новые машины построены с 64-битной архитектурой. Если вы разрабатываете один из них, есть вероятность, что вы также хотите создать 32-битные двоичные файлы, которые можно запускать на старых компьютерах. Это легко достигается, поскольку пакет Ubuntu предоставляет обе версии библиотек. В конфигурационный файл добавляется только одна строка, сделайте это, выполнив:

Acquire a payed license for Qt from Nokia. Their support desk will then provide 64-bit binaries upon request. Download the source code from the Nokia website, and compile Qt yourself for 64-bit environments. Download and install unofficial (untrusted!) binaries you might be able to find in the Internet.
0
ответ дан 25 July 2018 в 22:06

здесь является руководством по установке. Установка библиотек Qt в Wine

Теперь загрузите Qt SDK и установите его в винной среде. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для обеспечения совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте ее здесь. cd /tmp wget http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.4-mingw.exe wine qt-win-opensource-4.7.4-mingw.exe

Теперь загрузите Qt SDK и установите его в винную среду. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте это здесь.

Последняя команда запускает установщик, как если бы он был включен среды Windows. НЕ запускайте его как sudo! Во время установки вам будет предложено, чтобы MinGW отсутствовал: это совершенно нормально и может быть проигнорировано.

wine regedit

После успешной установки нам нужно установить переменную окружения PATH в Wine, так как она для по какой-то причине, не устанавливается автоматически установщиком Qt. Просто запустите:

и перейдите к «HKEY_CURRENT_USER / Окружающая среда». Щелкните правой кнопкой мыши и добавьте новое строковое значение с именем «Путь». Дважды щелкните по нему, чтобы изменить, и установите его значение в «c: \ windows; c: \ windows \ system; c: \ Qt \ 4.7.4 \ bin». Подробнее о настройке переменных окружения см. В руководстве пользователя Wine.

Определение кросс-компиляции qmake environment

cp -Rfp /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

Теперь для сложной части. Программы Qt обычно скомпилируются с помощью qmake, который заботится о настройке правильных параметров компилятора. Для этой цели для целевой платформы требуются определенные файлы конфигурации. Нам нужно создать такой конфигурационный файл, предназначенный для кросс-компиляции. В качестве шаблона мы будем использовать конфигурационный файл win32, поэтому сначала создадим копию связанной среды:

# # 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 = i586-mingw32msvc-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 = i586-mingw32msvc-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 = /usr/i586-mingw32msvc/include/ QMAKE_INCDIR_QT = /home/matteo/.wine/drive_c/Qt/4.7.4/include QMAKE_LIBDIR_QT = /home/matteo/.wine/drive_c/Qt/4.7.4/lib 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 = i586-mingw32msvc-g++ QMAKE_LINK_C = i586-mingw32msvc-gcc QMAKE_LFLAGS = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows 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-qt4 QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic-qt4 QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc-qt4 QMAKE_IDL = midl QMAKE_LIB = ar -ru QMAKE_RC = i586-mingw32msvc-windres QMAKE_ZIP = zip -r -9 QMAKE_STRIP = i586-mingw32msvc-strip QMAKE_STRIPFLAGS_LIB += --strip-unneeded load(qt_config)

Нам нужно отредактировать / usr / share / qt4 / mkspecs / win32-x-g ++ /qmake.conf и замените компиляторы gcc и g ++ по умолчанию на кросс-компиляторы, предоставленные пакетом MinGW, а также другие параметры. Наш взгляд выглядит так:

Совет. Если вы столкнулись с какими-либо проблемами при настройке файла конфигурации, посмотрите на скрипт, который поставляется с этим руководством, который автоматизирует каждый отдельный шаг.

Бонус: настройка среды кросс-архитектуры

echo "QMAKE_LIBDIR_QT = /usr/lib32/" >>/usr/share/qt4/mkspecs/linux-g++-32/qmake.conf

Многие новые машины построены с 64-битной архитектурой. Если вы разрабатываете один из них, есть вероятность, что вы также хотите создать 32-битные двоичные файлы, которые можно запускать на старых компьютерах. Это легко достигается, поскольку пакет Ubuntu предоставляет обе версии библиотек. В конфигурационный файл добавляется только одна строка, сделайте это, выполнив:

Acquire a payed license for Qt from Nokia. Their support desk will then provide 64-bit binaries upon request. Download the source code from the Nokia website, and compile Qt yourself for 64-bit environments. Download and install unofficial (untrusted!) binaries you might be able to find in the Internet.
0
ответ дан 26 July 2018 в 18:57

здесь является руководством по установке. Установка библиотек Qt в Wine

Теперь загрузите Qt SDK и установите его в винной среде. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для обеспечения совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте ее здесь. cd /tmp wget http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.4-mingw.exe wine qt-win-opensource-4.7.4-mingw.exe

Теперь загрузите Qt SDK и установите его в винную среду. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте это здесь.

Последняя команда запускает установщик, как если бы он был включен среды Windows. НЕ запускайте его как sudo! Во время установки вам будет предложено, чтобы MinGW отсутствовал: это совершенно нормально и может быть проигнорировано.

wine regedit

После успешной установки нам нужно установить переменную окружения PATH в Wine, так как она для по какой-то причине, не устанавливается автоматически установщиком Qt. Просто запустите:

и перейдите к «HKEY_CURRENT_USER / Окружающая среда». Щелкните правой кнопкой мыши и добавьте новое строковое значение с именем «Путь». Дважды щелкните по нему, чтобы изменить, и установите его значение в «c: \ windows; c: \ windows \ system; c: \ Qt \ 4.7.4 \ bin». Подробнее о настройке переменных окружения см. В руководстве пользователя Wine.

Определение кросс-компиляции qmake environment

cp -Rfp /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

Теперь для сложной части. Программы Qt обычно скомпилируются с помощью qmake, который заботится о настройке правильных параметров компилятора. Для этой цели для целевой платформы требуются определенные файлы конфигурации. Нам нужно создать такой конфигурационный файл, предназначенный для кросс-компиляции. В качестве шаблона мы будем использовать конфигурационный файл win32, поэтому сначала создадим копию связанной среды:

# # 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 = i586-mingw32msvc-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 = i586-mingw32msvc-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 = /usr/i586-mingw32msvc/include/ QMAKE_INCDIR_QT = /home/matteo/.wine/drive_c/Qt/4.7.4/include QMAKE_LIBDIR_QT = /home/matteo/.wine/drive_c/Qt/4.7.4/lib 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 = i586-mingw32msvc-g++ QMAKE_LINK_C = i586-mingw32msvc-gcc QMAKE_LFLAGS = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows 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-qt4 QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic-qt4 QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc-qt4 QMAKE_IDL = midl QMAKE_LIB = ar -ru QMAKE_RC = i586-mingw32msvc-windres QMAKE_ZIP = zip -r -9 QMAKE_STRIP = i586-mingw32msvc-strip QMAKE_STRIPFLAGS_LIB += --strip-unneeded load(qt_config)

Нам нужно отредактировать / usr / share / qt4 / mkspecs / win32-x-g ++ /qmake.conf и замените компиляторы gcc и g ++ по умолчанию на кросс-компиляторы, предоставленные пакетом MinGW, а также другие параметры. Наш взгляд выглядит так:

Совет. Если вы столкнулись с какими-либо проблемами при настройке файла конфигурации, посмотрите на скрипт, который поставляется с этим руководством, который автоматизирует каждый отдельный шаг.

Бонус: настройка среды кросс-архитектуры

echo "QMAKE_LIBDIR_QT = /usr/lib32/" >>/usr/share/qt4/mkspecs/linux-g++-32/qmake.conf

Многие новые машины построены с 64-битной архитектурой. Если вы разрабатываете один из них, есть вероятность, что вы также хотите создать 32-битные двоичные файлы, которые можно запускать на старых компьютерах. Это легко достигается, поскольку пакет Ubuntu предоставляет обе версии библиотек. В конфигурационный файл добавляется только одна строка, сделайте это, выполнив:

Acquire a payed license for Qt from Nokia. Their support desk will then provide 64-bit binaries upon request. Download the source code from the Nokia website, and compile Qt yourself for 64-bit environments. Download and install unofficial (untrusted!) binaries you might be able to find in the Internet.
0
ответ дан 31 July 2018 в 13:47

здесь является руководством по установке. Установка библиотек Qt в Wine

Теперь загрузите Qt SDK и установите его в винной среде. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для обеспечения совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте ее здесь. cd /tmp wget http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.4-mingw.exe wine qt-win-opensource-4.7.4-mingw.exe

Теперь загрузите Qt SDK и установите его в винную среду. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте это здесь.

Последняя команда запускает установщик, как если бы он был включен среды Windows. НЕ запускайте его как sudo! Во время установки вам будет предложено, чтобы MinGW отсутствовал: это совершенно нормально и может быть проигнорировано.

wine regedit

После успешной установки нам нужно установить переменную окружения PATH в Wine, так как она для по какой-то причине, не устанавливается автоматически установщиком Qt. Просто запустите:

и перейдите к «HKEY_CURRENT_USER / Окружающая среда». Щелкните правой кнопкой мыши и добавьте новое строковое значение с именем «Путь». Дважды щелкните по нему, чтобы изменить, и установите его значение в «c: \ windows; c: \ windows \ system; c: \ Qt \ 4.7.4 \ bin». Подробнее о настройке переменных окружения см. В руководстве пользователя Wine.

Определение кросс-компиляции qmake environment

cp -Rfp /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

Теперь для сложной части. Программы Qt обычно скомпилируются с помощью qmake, который заботится о настройке правильных параметров компилятора. Для этой цели для целевой платформы требуются определенные файлы конфигурации. Нам нужно создать такой конфигурационный файл, предназначенный для кросс-компиляции. В качестве шаблона мы будем использовать конфигурационный файл win32, поэтому сначала создадим копию связанной среды:

# # 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 = i586-mingw32msvc-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 = i586-mingw32msvc-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 = /usr/i586-mingw32msvc/include/ QMAKE_INCDIR_QT = /home/matteo/.wine/drive_c/Qt/4.7.4/include QMAKE_LIBDIR_QT = /home/matteo/.wine/drive_c/Qt/4.7.4/lib 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 = i586-mingw32msvc-g++ QMAKE_LINK_C = i586-mingw32msvc-gcc QMAKE_LFLAGS = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows 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-qt4 QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic-qt4 QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc-qt4 QMAKE_IDL = midl QMAKE_LIB = ar -ru QMAKE_RC = i586-mingw32msvc-windres QMAKE_ZIP = zip -r -9 QMAKE_STRIP = i586-mingw32msvc-strip QMAKE_STRIPFLAGS_LIB += --strip-unneeded load(qt_config)

Нам нужно отредактировать / usr / share / qt4 / mkspecs / win32-x-g ++ /qmake.conf и замените компиляторы gcc и g ++ по умолчанию на кросс-компиляторы, предоставленные пакетом MinGW, а также другие параметры. Наш взгляд выглядит так:

Совет. Если вы столкнулись с какими-либо проблемами при настройке файла конфигурации, посмотрите на скрипт, который поставляется с этим руководством, который автоматизирует каждый отдельный шаг.

Бонус: настройка среды кросс-архитектуры

echo "QMAKE_LIBDIR_QT = /usr/lib32/" >>/usr/share/qt4/mkspecs/linux-g++-32/qmake.conf

Многие новые машины построены с 64-битной архитектурой. Если вы разрабатываете один из них, есть вероятность, что вы также хотите создать 32-битные двоичные файлы, которые можно запускать на старых компьютерах. Это легко достигается, поскольку пакет Ubuntu предоставляет обе версии библиотек. В конфигурационный файл добавляется только одна строка, сделайте это, выполнив:

Acquire a payed license for Qt from Nokia. Their support desk will then provide 64-bit binaries upon request. Download the source code from the Nokia website, and compile Qt yourself for 64-bit environments. Download and install unofficial (untrusted!) binaries you might be able to find in the Internet.
0
ответ дан 2 August 2018 в 03:36

здесь является руководством по установке. Установка библиотек Qt в Wine

Теперь загрузите Qt SDK и установите его в винной среде. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для обеспечения совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте ее здесь. cd /tmp wget http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.4-mingw.exe wine qt-win-opensource-4.7.4-mingw.exe

Теперь загрузите Qt SDK и установите его в винную среду. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте это здесь.

Последняя команда запускает установщик, как если бы он был включен среды Windows. НЕ запускайте его как sudo! Во время установки вам будет предложено, чтобы MinGW отсутствовал: это совершенно нормально и может быть проигнорировано.

wine regedit

После успешной установки нам нужно установить переменную окружения PATH в Wine, так как она для по какой-то причине, не устанавливается автоматически установщиком Qt. Просто запустите:

и перейдите к «HKEY_CURRENT_USER / Окружающая среда». Щелкните правой кнопкой мыши и добавьте новое строковое значение с именем «Путь». Дважды щелкните по нему, чтобы изменить, и установите его значение в «c: \ windows; c: \ windows \ system; c: \ Qt \ 4.7.4 \ bin». Подробнее о настройке переменных окружения см. В руководстве пользователя Wine.

Определение кросс-компиляции qmake environment

cp -Rfp /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

Теперь для сложной части. Программы Qt обычно скомпилируются с помощью qmake, который заботится о настройке правильных параметров компилятора. Для этой цели для целевой платформы требуются определенные файлы конфигурации. Нам нужно создать такой конфигурационный файл, предназначенный для кросс-компиляции. В качестве шаблона мы будем использовать конфигурационный файл win32, поэтому сначала создадим копию связанной среды:

# # 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 = i586-mingw32msvc-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 = i586-mingw32msvc-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 = /usr/i586-mingw32msvc/include/ QMAKE_INCDIR_QT = /home/matteo/.wine/drive_c/Qt/4.7.4/include QMAKE_LIBDIR_QT = /home/matteo/.wine/drive_c/Qt/4.7.4/lib 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 = i586-mingw32msvc-g++ QMAKE_LINK_C = i586-mingw32msvc-gcc QMAKE_LFLAGS = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows 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-qt4 QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic-qt4 QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc-qt4 QMAKE_IDL = midl QMAKE_LIB = ar -ru QMAKE_RC = i586-mingw32msvc-windres QMAKE_ZIP = zip -r -9 QMAKE_STRIP = i586-mingw32msvc-strip QMAKE_STRIPFLAGS_LIB += --strip-unneeded load(qt_config)

Нам нужно отредактировать / usr / share / qt4 / mkspecs / win32-x-g ++ /qmake.conf и замените компиляторы gcc и g ++ по умолчанию на кросс-компиляторы, предоставленные пакетом MinGW, а также другие параметры. Наш взгляд выглядит так:

Совет. Если вы столкнулись с какими-либо проблемами при настройке файла конфигурации, посмотрите на скрипт, который поставляется с этим руководством, который автоматизирует каждый отдельный шаг.

Бонус: настройка среды кросс-архитектуры

echo "QMAKE_LIBDIR_QT = /usr/lib32/" >>/usr/share/qt4/mkspecs/linux-g++-32/qmake.conf

Многие новые машины построены с 64-битной архитектурой. Если вы разрабатываете один из них, есть вероятность, что вы также хотите создать 32-битные двоичные файлы, которые можно запускать на старых компьютерах. Это легко достигается, поскольку пакет Ubuntu предоставляет обе версии библиотек. В конфигурационный файл добавляется только одна строка, сделайте это, выполнив:

Acquire a payed license for Qt from Nokia. Their support desk will then provide 64-bit binaries upon request. Download the source code from the Nokia website, and compile Qt yourself for 64-bit environments. Download and install unofficial (untrusted!) binaries you might be able to find in the Internet.
0
ответ дан 4 August 2018 в 19:38

здесь является руководством для него. Установка библиотек Qt в Wine

Теперь загрузите Qt SDK и установите его в винную среду. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для обеспечения совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте ее здесь.

cd /tmp
wget http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.4-mingw.exe
wine qt-win-opensource-4.7.4-mingw.exe

Последняя команда запустит как если бы он был в среде Windows. НЕ запускайте его как sudo! Во время установки вам будет предложено, чтобы MinGW отсутствовал: это абсолютно нормально и может быть проигнорировано.

После успешной установки нам нужно установить переменную окружения PATH в Wine, по какой-то причине, не устанавливается автоматически установщиком Qt. Просто запустите:

wine regedit

и перейдите к «HKEY_CURRENT_USER / Окружающая среда». Щелкните правой кнопкой мыши и добавьте новое строковое значение с именем «Путь». Дважды щелкните по нему, чтобы изменить, и установите его значение в «c: \ windows; c: \ windows \ system; c: \ Qt \ 4.7.4 \ bin». Подробнее о настройке переменных окружения см. В руководстве пользователя Wine.

Определение среды qmake для кросс-компиляции

Теперь для сложной части. Программы Qt обычно скомпилируются с помощью qmake, который заботится о настройке правильных параметров компилятора. Для этой цели для целевой платформы требуются определенные файлы конфигурации. Нам нужно создать такой конфигурационный файл, предназначенный для кросс-компиляции. В качестве шаблона мы будем использовать конфигурационный файл win32, поэтому сначала создадим копию связанной среды:

cp -Rfp /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

Нам нужно отредактировать / usr / share / qt4 / mkspecs / win32-x-g ++ /qmake.conf и замените компиляторы gcc и g ++ по умолчанию на кросс-компиляторы, предоставленные пакетом MinGW, а также другие параметры. Мы выглядим так:

#
# 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        = i586-mingw32msvc-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       = i586-mingw32msvc-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        = /usr/i586-mingw32msvc/include/
QMAKE_INCDIR_QT     = /home/matteo/.wine/drive_c/Qt/4.7.4/include
QMAKE_LIBDIR_QT     = /home/matteo/.wine/drive_c/Qt/4.7.4/lib

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      = i586-mingw32msvc-g++
QMAKE_LINK_C        = i586-mingw32msvc-gcc
QMAKE_LFLAGS        = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows
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-qt4
QMAKE_UIC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic-qt4
QMAKE_IDC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc-qt4

QMAKE_IDL       = midl
QMAKE_LIB       = ar -ru
QMAKE_RC        = i586-mingw32msvc-windres
QMAKE_ZIP       = zip -r -9

QMAKE_STRIP     = i586-mingw32msvc-strip
QMAKE_STRIPFLAGS_LIB    += --strip-unneeded
load(qt_config)

Совет. Если вы столкнулись с какими-либо проблемами при настройке файла конфигурации, посмотрите на скрипт, который поставляется с этим руководством, который автоматизирует каждый отдельный шаг.

Бонус: настройка среды кросс-архитектуры

Многие новые машины построены с 64-битной архитектурой. Если вы разрабатываете один из них, есть вероятность, что вы также хотите создать 32-битные двоичные файлы, которые можно запускать на старых компьютерах. Это легко достигается, поскольку пакет Ubuntu предоставляет обе версии библиотек. В конфигурационный файл добавляется только одна строка, сделайте это, выполнив:

echo "QMAKE_LIBDIR_QT         = /usr/lib32/" >>/usr/share/qt4/mkspecs/linux-g++-32/qmake.conf

Что касается среды Windows, Nokia предоставляет только 32-битные версии библиотек Qt, которые уже должны быть совместимый с обеими архитектурами. В представленной нами настройке уже будут созданы такие исполняемые файлы. Если вы хотите оптимизировать двоичные файлы для 64-битных сред, есть несколько вариантов:

Acquire a payed license for Qt from Nokia. Their support desk will then provide 64-bit binaries upon request.
Download the source code from the Nokia website, and compile Qt yourself for 64-bit environments.
Download and install unofficial (untrusted!) binaries you might be able to find in the Internet.
0
ответ дан 6 August 2018 в 03:44

здесь является руководством для него. Установка библиотек Qt в Wine

Теперь загрузите Qt SDK и установите его в винную среду. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для обеспечения совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте ее здесь.

cd /tmp
wget http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.4-mingw.exe
wine qt-win-opensource-4.7.4-mingw.exe

Последняя команда запустит как если бы он был в среде Windows. НЕ запускайте его как sudo! Во время установки вам будет предложено, чтобы MinGW отсутствовал: это абсолютно нормально и может быть проигнорировано.

После успешной установки нам нужно установить переменную окружения PATH в Wine, по какой-то причине, не устанавливается автоматически установщиком Qt. Просто запустите:

wine regedit

и перейдите к «HKEY_CURRENT_USER / Окружающая среда». Щелкните правой кнопкой мыши и добавьте новое строковое значение с именем «Путь». Дважды щелкните по нему, чтобы изменить, и установите его значение в «c: \ windows; c: \ windows \ system; c: \ Qt \ 4.7.4 \ bin». Подробнее о настройке переменных окружения см. В руководстве пользователя Wine.

Определение среды qmake для кросс-компиляции

Теперь для сложной части. Программы Qt обычно скомпилируются с помощью qmake, который заботится о настройке правильных параметров компилятора. Для этой цели для целевой платформы требуются определенные файлы конфигурации. Нам нужно создать такой конфигурационный файл, предназначенный для кросс-компиляции. В качестве шаблона мы будем использовать конфигурационный файл win32, поэтому сначала создадим копию связанной среды:

cp -Rfp /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

Нам нужно отредактировать / usr / share / qt4 / mkspecs / win32-x-g ++ /qmake.conf и замените компиляторы gcc и g ++ по умолчанию на кросс-компиляторы, предоставленные пакетом MinGW, а также другие параметры. Мы выглядим так:

#
# 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        = i586-mingw32msvc-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       = i586-mingw32msvc-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        = /usr/i586-mingw32msvc/include/
QMAKE_INCDIR_QT     = /home/matteo/.wine/drive_c/Qt/4.7.4/include
QMAKE_LIBDIR_QT     = /home/matteo/.wine/drive_c/Qt/4.7.4/lib

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      = i586-mingw32msvc-g++
QMAKE_LINK_C        = i586-mingw32msvc-gcc
QMAKE_LFLAGS        = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows
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-qt4
QMAKE_UIC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic-qt4
QMAKE_IDC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc-qt4

QMAKE_IDL       = midl
QMAKE_LIB       = ar -ru
QMAKE_RC        = i586-mingw32msvc-windres
QMAKE_ZIP       = zip -r -9

QMAKE_STRIP     = i586-mingw32msvc-strip
QMAKE_STRIPFLAGS_LIB    += --strip-unneeded
load(qt_config)

Совет. Если вы столкнулись с какими-либо проблемами при настройке файла конфигурации, посмотрите на скрипт, который поставляется с этим руководством, который автоматизирует каждый отдельный шаг.

Бонус: настройка среды кросс-архитектуры

Многие новые машины построены с 64-битной архитектурой. Если вы разрабатываете один из них, есть вероятность, что вы также хотите создать 32-битные двоичные файлы, которые можно запускать на старых компьютерах. Это легко достигается, поскольку пакет Ubuntu предоставляет обе версии библиотек. В конфигурационный файл добавляется только одна строка, сделайте это, выполнив:

echo "QMAKE_LIBDIR_QT         = /usr/lib32/" >>/usr/share/qt4/mkspecs/linux-g++-32/qmake.conf

Что касается среды Windows, Nokia предоставляет только 32-битные версии библиотек Qt, которые уже должны быть совместимый с обеими архитектурами. В представленной нами настройке уже будут созданы такие исполняемые файлы. Если вы хотите оптимизировать двоичные файлы для 64-битных сред, есть несколько вариантов:

Acquire a payed license for Qt from Nokia. Their support desk will then provide 64-bit binaries upon request.
Download the source code from the Nokia website, and compile Qt yourself for 64-bit environments.
Download and install unofficial (untrusted!) binaries you might be able to find in the Internet.
0
ответ дан 7 August 2018 в 21:38

здесь является руководством для него. Установка библиотек Qt в Wine

Теперь загрузите Qt SDK и установите его в винную среду. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для обеспечения совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте ее здесь.

cd /tmp
wget http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.4-mingw.exe
wine qt-win-opensource-4.7.4-mingw.exe

Последняя команда запустит как если бы он был в среде Windows. НЕ запускайте его как sudo! Во время установки вам будет предложено, чтобы MinGW отсутствовал: это абсолютно нормально и может быть проигнорировано.

После успешной установки нам нужно установить переменную окружения PATH в Wine, по какой-то причине, не устанавливается автоматически установщиком Qt. Просто запустите:

wine regedit

и перейдите к «HKEY_CURRENT_USER / Окружающая среда». Щелкните правой кнопкой мыши и добавьте новое строковое значение с именем «Путь». Дважды щелкните по нему, чтобы изменить, и установите его значение в «c: \ windows; c: \ windows \ system; c: \ Qt \ 4.7.4 \ bin». Подробнее о настройке переменных окружения см. В руководстве пользователя Wine.

Определение среды qmake для кросс-компиляции

Теперь для сложной части. Программы Qt обычно скомпилируются с помощью qmake, который заботится о настройке правильных параметров компилятора. Для этой цели для целевой платформы требуются определенные файлы конфигурации. Нам нужно создать такой конфигурационный файл, предназначенный для кросс-компиляции. В качестве шаблона мы будем использовать конфигурационный файл win32, поэтому сначала создадим копию связанной среды:

cp -Rfp /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

Нам нужно отредактировать / usr / share / qt4 / mkspecs / win32-x-g ++ /qmake.conf и замените компиляторы gcc и g ++ по умолчанию на кросс-компиляторы, предоставленные пакетом MinGW, а также другие параметры. Мы выглядим так:

#
# 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        = i586-mingw32msvc-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       = i586-mingw32msvc-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        = /usr/i586-mingw32msvc/include/
QMAKE_INCDIR_QT     = /home/matteo/.wine/drive_c/Qt/4.7.4/include
QMAKE_LIBDIR_QT     = /home/matteo/.wine/drive_c/Qt/4.7.4/lib

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      = i586-mingw32msvc-g++
QMAKE_LINK_C        = i586-mingw32msvc-gcc
QMAKE_LFLAGS        = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows
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-qt4
QMAKE_UIC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic-qt4
QMAKE_IDC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc-qt4

QMAKE_IDL       = midl
QMAKE_LIB       = ar -ru
QMAKE_RC        = i586-mingw32msvc-windres
QMAKE_ZIP       = zip -r -9

QMAKE_STRIP     = i586-mingw32msvc-strip
QMAKE_STRIPFLAGS_LIB    += --strip-unneeded
load(qt_config)

Совет. Если вы столкнулись с какими-либо проблемами при настройке файла конфигурации, посмотрите на скрипт, который поставляется с этим руководством, который автоматизирует каждый отдельный шаг.

Бонус: настройка среды кросс-архитектуры

Многие новые машины построены с 64-битной архитектурой. Если вы разрабатываете один из них, есть вероятность, что вы также хотите создать 32-битные двоичные файлы, которые можно запускать на старых компьютерах. Это легко достигается, поскольку пакет Ubuntu предоставляет обе версии библиотек. В конфигурационный файл добавляется только одна строка, сделайте это, выполнив:

echo "QMAKE_LIBDIR_QT         = /usr/lib32/" >>/usr/share/qt4/mkspecs/linux-g++-32/qmake.conf

Что касается среды Windows, Nokia предоставляет только 32-битные версии библиотек Qt, которые уже должны быть совместимый с обеими архитектурами. В представленной нами настройке уже будут созданы такие исполняемые файлы. Если вы хотите оптимизировать двоичные файлы для 64-битных сред, есть несколько вариантов:

Acquire a payed license for Qt from Nokia. Their support desk will then provide 64-bit binaries upon request.
Download the source code from the Nokia website, and compile Qt yourself for 64-bit environments.
Download and install unofficial (untrusted!) binaries you might be able to find in the Internet.
0
ответ дан 10 August 2018 в 09:53

здесь является руководством для него. Установка библиотек Qt в Wine

Теперь загрузите Qt SDK и установите его в винную среду. На момент написания этой статьи мы тестировали только версию 4.7.4, но вы можете взять последнюю версию с сайта Nokia. Для обеспечения совместимости убедитесь, что вы загрузите ту же версию, что и версия вашего Ubuntu: проверьте ее здесь.

cd /tmp
wget http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.4-mingw.exe
wine qt-win-opensource-4.7.4-mingw.exe

Последняя команда запустит как если бы он был в среде Windows. НЕ запускайте его как sudo! Во время установки вам будет предложено, чтобы MinGW отсутствовал: это абсолютно нормально и может быть проигнорировано.

После успешной установки нам нужно установить переменную окружения PATH в Wine, по какой-то причине, не устанавливается автоматически установщиком Qt. Просто запустите:

wine regedit

и перейдите к «HKEY_CURRENT_USER / Окружающая среда». Щелкните правой кнопкой мыши и добавьте новое строковое значение с именем «Путь». Дважды щелкните по нему, чтобы изменить, и установите его значение в «c: \ windows; c: \ windows \ system; c: \ Qt \ 4.7.4 \ bin». Подробнее о настройке переменных окружения см. В руководстве пользователя Wine.

Определение среды qmake для кросс-компиляции

Теперь для сложной части. Программы Qt обычно скомпилируются с помощью qmake, который заботится о настройке правильных параметров компилятора. Для этой цели для целевой платформы требуются определенные файлы конфигурации. Нам нужно создать такой конфигурационный файл, предназначенный для кросс-компиляции. В качестве шаблона мы будем использовать конфигурационный файл win32, поэтому сначала создадим копию связанной среды:

cp -Rfp /usr/share/qt4/mkspecs/win32-g++ /usr/share/qt4/mkspecs/win32-x-g++

Нам нужно отредактировать / usr / share / qt4 / mkspecs / win32-x-g ++ /qmake.conf и замените компиляторы gcc и g ++ по умолчанию на кросс-компиляторы, предоставленные пакетом MinGW, а также другие параметры. Мы выглядим так:

#
# 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        = i586-mingw32msvc-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       = i586-mingw32msvc-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        = /usr/i586-mingw32msvc/include/
QMAKE_INCDIR_QT     = /home/matteo/.wine/drive_c/Qt/4.7.4/include
QMAKE_LIBDIR_QT     = /home/matteo/.wine/drive_c/Qt/4.7.4/lib

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      = i586-mingw32msvc-g++
QMAKE_LINK_C        = i586-mingw32msvc-gcc
QMAKE_LFLAGS        = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows
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-qt4
QMAKE_UIC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic-qt4
QMAKE_IDC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc-qt4

QMAKE_IDL       = midl
QMAKE_LIB       = ar -ru
QMAKE_RC        = i586-mingw32msvc-windres
QMAKE_ZIP       = zip -r -9

QMAKE_STRIP     = i586-mingw32msvc-strip
QMAKE_STRIPFLAGS_LIB    += --strip-unneeded
load(qt_config)

Совет. Если вы столкнулись с какими-либо проблемами при настройке файла конфигурации, посмотрите на скрипт, который поставляется с этим руководством, который автоматизирует каждый отдельный шаг.

Бонус: настройка среды кросс-архитектуры

Многие новые машины построены с 64-битной архитектурой. Если вы разрабатываете один из них, есть вероятность, что вы также хотите создать 32-битные двоичные файлы, которые можно запускать на старых компьютерах. Это легко достигается, поскольку пакет Ubuntu предоставляет обе версии библиотек. В конфигурационный файл добавляется только одна строка, сделайте это, выполнив:

echo "QMAKE_LIBDIR_QT         = /usr/lib32/" >>/usr/share/qt4/mkspecs/linux-g++-32/qmake.conf

Что касается среды Windows, Nokia предоставляет только 32-битные версии библиотек Qt, которые уже должны быть совместимый с обеими архитектурами. В представленной нами настройке уже будут созданы такие исполняемые файлы. Если вы хотите оптимизировать двоичные файлы для 64-битных сред, есть несколько вариантов:

Acquire a payed license for Qt from Nokia. Their support desk will then provide 64-bit binaries upon request.
Download the source code from the Nokia website, and compile Qt yourself for 64-bit environments.
Download and install unofficial (untrusted!) binaries you might be able to find in the Internet.
0
ответ дан 13 August 2018 в 16:10

Я нашел гораздо более простое решение: просто установите Qt Creator под Wine.

Мне пришлось использовать winetricks, чтобы сначала установить файлы времени исполнения VC ++ 2008, но после этого он отлично работал.

1
ответ дан 25 May 2018 в 21:47

Отказ от ответственности: я не жадный пользователь Qt Creator, поэтому я могу ошибаться.

Если Qt Creator поддерживает настраиваемые компиляторы, попробуйте установить компилятор mingw как один, и установив пути библиотеки к mingw's включают в себя каталоги (вместе с соответствующими путями для заголовков окон).

Этот метод работал для меня в прошлом на других IDE (таких как кодовые блоки), поэтому я иду на конечность и угадываю его будет для Qt Creator.

Edit:

После выполнения некоторых поисков в Qt Creator я не уверен, возможно ли это.

0
ответ дан 25 May 2018 в 21:47
  • 1
    Но где установить этот «настраиваемый компилятор»? Я знаю, о чем вы говорите, так как я делал то же самое в Code :: Blocks. Но Qt, похоже, не предлагает эту функцию. – Nathan Osman 30 April 2011 в 04:13

Я нашел гораздо более простое решение: просто установите Qt Creator под Wine.

Мне пришлось использовать winetricks, чтобы сначала установить файлы времени исполнения VC ++ 2008, но после этого он отлично работал.

1
ответ дан 25 July 2018 в 22:06

Отказ от ответственности: я не жадный пользователь Qt Creator, поэтому я могу ошибаться.

Если Qt Creator поддерживает настраиваемые компиляторы, попробуйте установить компилятор mingw как один, и установив пути библиотеки к mingw's включают в себя каталоги (вместе с соответствующими путями для заголовков окон).

Этот метод работал для меня в прошлом на других IDE (таких как кодовые блоки), поэтому я иду на конечность и угадываю его будет для Qt Creator.

Edit:

После выполнения некоторых поисков в Qt Creator я не уверен, возможно ли это.

0
ответ дан 25 July 2018 в 22:06
  • 1
    Но где установить этот «настраиваемый компилятор»? Я знаю, о чем вы говорите, так как я делал то же самое в Code :: Blocks. Но Qt, похоже, не предлагает эту функцию. – Nathan Osman 30 April 2011 в 04:13

Я нашел гораздо более простое решение: просто установите Qt Creator под Wine.

Мне пришлось использовать winetricks, чтобы сначала установить файлы времени исполнения VC ++ 2008, но после этого он отлично работал.

1
ответ дан 26 July 2018 в 18:57

Отказ от ответственности: я не жадный пользователь Qt Creator, поэтому я могу ошибаться.

Если Qt Creator поддерживает настраиваемые компиляторы, попробуйте установить компилятор mingw как один, и установив пути библиотеки к mingw's включают в себя каталоги (вместе с соответствующими путями для заголовков окон).

Этот метод работал для меня в прошлом на других IDE (таких как кодовые блоки), поэтому я иду на конечность и угадываю его будет для Qt Creator.

Edit:

После выполнения некоторых поисков в Qt Creator я не уверен, возможно ли это.

0
ответ дан 26 July 2018 в 18:57
  • 1
    Но где установить этот «настраиваемый компилятор»? Я знаю, о чем вы говорите, так как я делал то же самое в Code :: Blocks. Но Qt, похоже, не предлагает эту функцию. – Nathan Osman 30 April 2011 в 04:13

Я нашел гораздо более простое решение: просто установите Qt Creator под Wine.

Мне пришлось использовать winetricks, чтобы сначала установить файлы времени исполнения VC ++ 2008, но после этого он отлично работал.

1
ответ дан 31 July 2018 в 13:47

Отказ от ответственности: я не жадный пользователь Qt Creator, поэтому я могу ошибаться.

Если Qt Creator поддерживает настраиваемые компиляторы, попробуйте установить компилятор mingw как один, и установив пути библиотеки к mingw's включают в себя каталоги (вместе с соответствующими путями для заголовков окон).

Этот метод работал для меня в прошлом на других IDE (таких как кодовые блоки), поэтому я иду на конечность и угадываю его будет для Qt Creator.

Edit:

После выполнения некоторых поисков в Qt Creator я не уверен, возможно ли это.

0
ответ дан 31 July 2018 в 13:47
  • 1
    Но где установить этот «настраиваемый компилятор»? Я знаю, о чем вы говорите, так как я делал то же самое в Code :: Blocks. Но Qt, похоже, не предлагает эту функцию. – Nathan Osman 30 April 2011 в 04:13

Я нашел гораздо более простое решение: просто установите Qt Creator под Wine.

Мне пришлось использовать winetricks, чтобы сначала установить файлы времени исполнения VC ++ 2008, но после этого он отлично работал.

1
ответ дан 2 August 2018 в 03:36

Отказ от ответственности: я не жадный пользователь Qt Creator, поэтому я могу ошибаться.

Если Qt Creator поддерживает настраиваемые компиляторы, попробуйте установить компилятор mingw как один, и установив пути библиотеки к mingw's включают в себя каталоги (вместе с соответствующими путями для заголовков окон).

Этот метод работал для меня в прошлом на других IDE (таких как кодовые блоки), поэтому я иду на конечность и угадываю его будет для Qt Creator.

Edit:

После выполнения некоторых поисков в Qt Creator я не уверен, возможно ли это.

0
ответ дан 2 August 2018 в 03:36
  • 1
    Но где установить этот «настраиваемый компилятор»? Я знаю, о чем вы говорите, так как я делал то же самое в Code :: Blocks. Но Qt, похоже, не предлагает эту функцию. – Nathan Osman 30 April 2011 в 04:13

Я нашел гораздо более простое решение: просто установите Qt Creator под Wine.

Мне пришлось использовать winetricks, чтобы сначала установить файлы времени исполнения VC ++ 2008, но после этого он отлично работал.

1
ответ дан 4 August 2018 в 19:38

Отказ от ответственности: я не жадный пользователь Qt Creator, поэтому я могу ошибаться.

Если Qt Creator поддерживает настраиваемые компиляторы, попробуйте установить компилятор mingw как один, и установив пути библиотеки к mingw's включают в себя каталоги (вместе с соответствующими путями для заголовков окон).

Этот метод работал для меня в прошлом на других IDE (таких как кодовые блоки), поэтому я иду на конечность и угадываю его будет для Qt Creator.

Edit:

После выполнения некоторых поисков в Qt Creator я не уверен, возможно ли это.

0
ответ дан 4 August 2018 в 19:38
  • 1
    Но где установить этот «настраиваемый компилятор»? Я знаю, о чем вы говорите, так как я делал то же самое в Code :: Blocks. Но Qt, похоже, не предлагает эту функцию. – Nathan Osman 30 April 2011 в 04:13

Отказ от ответственности: я не жадный пользователь Qt Creator, поэтому я могу ошибаться.

Если Qt Creator поддерживает настраиваемые компиляторы, попробуйте настроить компилятор mingw как один, и установление путей библиотек к каталогам включений mingw (вместе с соответствующими путями для заголовков окон).

Этот метод работал для меня в прошлом на других IDE (таких как кодовые блоки), поэтому я

Edit:

После выполнения некоторых операций поиска в Qt Creator я не уверен, возможно ли это.

0
ответ дан 6 August 2018 в 03:44

Я нашел гораздо более простое решение: просто установите Qt Creator под Wine.

Мне пришлось использовать winetricks , чтобы сначала установить файлы времени исполнения VC ++ 2008, но после этого работал отлично.

1
ответ дан 6 August 2018 в 03:44

Я нашел гораздо более простое решение: просто установите Qt Creator под Wine.

Мне пришлось использовать winetricks , чтобы сначала установить файлы времени исполнения VC ++ 2008, но после этого работал отлично.

1
ответ дан 7 August 2018 в 21:38

Отказ от ответственности: я не жадный пользователь Qt Creator, поэтому я могу ошибаться.

Если Qt Creator поддерживает настраиваемые компиляторы, попробуйте настроить компилятор mingw как один, и установление путей библиотек к каталогам включений mingw (вместе с соответствующими путями для заголовков окон).

Этот метод работал для меня в прошлом на других IDE (таких как кодовые блоки), поэтому я

Edit:

После выполнения некоторых операций поиска в Qt Creator я не уверен, возможно ли это.

0
ответ дан 7 August 2018 в 21:38

Отказ от ответственности: я не жадный пользователь Qt Creator, поэтому я могу ошибаться.

Если Qt Creator поддерживает настраиваемые компиляторы, попробуйте настроить компилятор mingw как один, и установление путей библиотек к каталогам включений mingw (вместе с соответствующими путями для заголовков окон).

Этот метод работал для меня в прошлом на других IDE (таких как кодовые блоки), поэтому я

Edit:

После выполнения некоторых операций поиска в Qt Creator я не уверен, возможно ли это.

0
ответ дан 10 August 2018 в 09:53

Я нашел гораздо более простое решение: просто установите Qt Creator под Wine.

Мне пришлось использовать winetricks , чтобы сначала установить файлы времени исполнения VC ++ 2008, но после этого работал отлично.

1
ответ дан 10 August 2018 в 09:53

Я нашел гораздо более простое решение: просто установите Qt Creator под Wine.

Мне пришлось использовать winetricks , чтобы сначала установить файлы времени исполнения VC ++ 2008, но после этого работал отлично.

1
ответ дан 13 August 2018 в 16:10

Отказ от ответственности: я не жадный пользователь Qt Creator, поэтому я могу ошибаться.

Если Qt Creator поддерживает настраиваемые компиляторы, попробуйте настроить компилятор mingw как один, и установление путей библиотек к каталогам включений mingw (вместе с соответствующими путями для заголовков окон).

Этот метод работал для меня в прошлом на других IDE (таких как кодовые блоки), поэтому я

Edit:

После выполнения некоторых операций поиска в Qt Creator я не уверен, возможно ли это.

0
ответ дан 13 August 2018 в 16:10
  • 1
    Но где установить этот «настраиваемый компилятор»? Я знаю, о чем вы говорите, так как я делал то же самое в Code :: Blocks. Но Qt, похоже, не предлагает эту функцию. – Nathan Osman 30 April 2011 в 04:13

Другие вопросы по тегам:

Похожие вопросы: