Я выполнил инструкции из MinGW-64-bit, используя вариант A: постройте Qt в оболочке MSYS2 & MinGW-w64 Win64 Shell.Building Qt 5.8 from source - configure: Неизвестная опция командной строки '-C++ 11'
НКУ -v говорит:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../gcc-6.3.0/configure
--build=x86_64-w64-mingw32
--disable-isl-version-check
--disable-libstdcxx-debug
--disable-libstdcxx-pch
--disable-multilib
--disable-nls
--disable-rpath
--disable-symvers
--disable-werror
--disable-win32-registry
--enable-bootstrap
--enable-checking=release
--enable-fully-dynamic-string
--enable-graphite
--enable-languages=c,lto,c++,objc,obj-c++,fortran,ada
--enable-libatomic
--enable-libgomp
--enable-libstdcxx-time=yes
--enable-lto
--enable-shared
--enable-static
--enable-threads=posix
--host=x86_64-w64-mingw32
--libexecdir=/mingw64/lib
--prefix=/mingw64
--target=x86_64-w64-mingw32
--with-arch=x86-64
--with-bugurl=https://sourceforge.net/projects/msys2
--with-gmp=/mingw64
--with-gnu-as
--with-gnu-ld
--with-isl=/mingw64
--with-libiconv
--with-local-prefix=/mingw64/local
--with-mpc=/mingw64
--with-mpfr=/mingw64
--with-native-system-header-dir=/mingw64/x86_64-w64-mingw32/include
--with-pkgversion='Rev1, Built by MSYS2 project'
--with-system-zlib
--with-tune=generic
Thread model: posix
gcc version 6.3.0 (Rev1, Built by MSYS2 project)
Я загрузил исходный код
git clone https://code.qt.io/qt/qt5.git
cd qt5
perl init-repository
git checkout 5.8
Я знаю, что есть и другие варианты:
- мерзавец клон https://github.com/qt/qt5.git
- Wget http://download.qt.io/official_releases/qt/5.8/5.8.0/single/qt-everywhere-opensource-src-5.8.0.tar.gz
Я наблюдал ту же проблему со вторым вариантом (архив).
После установки всех необходимых компонентов я построю OpenSSL и СИС - установленный в
- /USR/местные/OpenSSL
- /USR/местные/СИС
Но оттуда в инструкции не так ясно. Утверждается, что для установки некоторых переменных среды используется командная оболочка Windows. Но позже я использую MSYS2 64-битную оболочку, поэтому они не имеют никакого эффекта. Вот что я сделал:
export INCLUDE=/usr/local/icu/include:/usr/local/openssl/include
export LIB=/usr/local/icu/lib:/usr/local/openssl/lib
export QMAKESPEC=
export QTDIR=
windows2unix() { local pathPcs=() split pathTmp IFS=\;; read -ra split <<< "$*"; for pathTmp in "${split[@],}"; do pathPcs+=("/${pathTmp//+([:\\])//}"); done; echo "${pathPcs[*]}"; }; systemrootP=$(windows2unix "$SYSTEMROOT"); export PATH="$PWD/qtbase/bin:$PWD/gnuwin32/bin:/c/msys64/mingw64/bin:/c/msys64/usr/bin:/c/msys64/usr/local/icu/lib"
export MAKE_COMMAND=
./configure -debug-and-release -opensource -confirm-license -platform win32-g++ -developer-build -c++11 -icu -opengl desktop -openssl -plugin-sql-odbc -nomake examples -nomake tests
Настроить скрипт работает некоторое время, но затем он останавливается со следующей ошибкой:
...
Creating qmake................................................................................................Done.
Info: creating stash file C:\msys64\home\asp\qt5\.qmake.stash
Info: creating super cache file C:\msys64\home\asp\qt5\.qmake.super
ERROR: Unknown command line option '-c++11'.
Может быть, я забыл установить некоторый флаг где-то, но на данный момент я Прямо здесь. Кто-нибудь знает, как продолжить?
Qt 5.8 не будет компилироваться без поддержки C++ 11 в компиляторе, что делает флаг -C++ 11 бесполезным –