здесь является руководством по установке. Установка библиотек 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.
У меня также было это сомнение, следуя инструкциям на этой странице. Я использовал свой внутренний IP-адрес и ServerName, которые я установил в файле .conf, и он сработал.
В моем случае, прежде чем я добавил это в /etc/hosts, браузер отображал «DNS-адрес не мог быть найденным." поскольку мой домен ServerName не существовал. В вашем случае example.com является реальным доменом. Эта страница с «Этот домен установлен для использования для иллюстрации ...» - это фактическая страница. Это не сообщение, связанное с тем, что вы делали при настройке своего Apache. Вы можете получить доступ к этой странице с любого устройства.
Вы можете найти свой IP-адрес, щелкнув правой кнопкой мыши значок сети и выбрав «Информация о соединении». IP-адрес позиции на IPv4 показывает ваш внутренний IP-адрес.
Я также столкнулся с проблемой, которую вы имели. Я сделал простое изменение, и я смог получить ожидаемый результат «Успех! Виртуальный хост example.com работает!».
type
sudo nano /etc/hosts"
в вашем терминале.
Вы должны ввести свой IP-адрес вместо 111.111.111.111
Чтобы получить тип IP-адреса
ifconfig
в терминале.
Там вы можете увидеть
inet addr:127.0.0.1 in lo section.