Ich folgte den Anweisungen von MinGW-64-bit, mit Option A: Build Qt in MSYS2-Shell & MinGW-w64 Win64 Shell.Qt 5.8 von Quelle erstellen - configure: Unbekannte Befehlszeilenoption '-C++ 11'
gcc -v sagt:
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)
ich den Quellcode heruntergeladen
git clone https://code.qt.io/qt/qt5.git
cd qt5
perl init-repository
git checkout 5.8
Ich weiß, es gibt auch andere Optionen:
- git clone 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
Ich habe das gleiche Problem mit der zweiten Option (Archiv) beobachtet.
Nachdem alle Voraussetzungen der Installation ich bauen OpenSSL und ICU - installiert in
- /usr/local/openssl
- /usr/local/icu
Aber von dort auf die Anweisungen nicht so klar. Es wird angegeben, eine Windows-Befehlsshell zu verwenden, um einige Umgebungsvariablen festzulegen. Aber später benutze ich die MSYS2 64 Bit Shell, also haben diese keine Wirkung. Hier ist, was ich getan habe:
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
Der configure-Skript einige Zeit läuft, aber dann hört es mit dem folgenden Fehler:
...
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'.
Vielleicht vergaß ich irgendwo etwas Flag gesetzt, aber für den Moment, als ich bin hier festgefahren. Weiß jemand weiter?
Qt 5.8 wird nicht kompiliert ohne C++ 11 Unterstützung im Compiler, was -C++ 11 Flag unbrauchbar macht –