MinGW-64-bitの指示に従い、オプションAを使用しました。MSYS2シェル& MinGW-w64 Win64シェルでQtをビルドします。ソースからQt 5.8をビルドする - 未知のコマンドラインオプション '-C++ 11'
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
をダウンロード:
- gitのクローン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 が言う-v
GCC
2番目のオプション(アーカイブ)で同じ問題が発生しました。私は、OpenSSLとICUを構築し、すべての前提条件をインストールした後
- 指示に
- は/ usr/local/opensslの
- は/ usr/local/ICU
しかし、そこから内に設置されていますあまり明確ではない。 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
configureスクリプトは、いくつかの時間を実行しますが、それは次のエラーで停止します。
...
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'.
は、たぶん私はどこかのフラグを設定するのを忘れたが、一瞬のためにIここにはまった。誰も続ける方法を知っていますか?
Qt 5.8はコンパイラでのC++ 11サポートなしでコンパイルされないため、-C++ 11フラグは役に立たなくなります –