2017-01-27 8 views
1

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 

をダウンロード:

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ここにはまった。誰も続ける方法を知っていますか?

+3

Qt 5.8はコンパイラでのC++ 11サポートなしでコンパイルされないため、-C++ 11フラグは役に立たなくなります –

答えて

0

私は、Andrei R.とこの縫い目から問題を解決するために、フラグ-C++ 11を削除しました。

This is the Qt Open Source Edition. 
You have already accepted the terms of the Open Source license. 
Running configuration tests... 
Checking for gold linker... no 
Checking for valid makespec... yes 
Checking for target architecture... x86_64 
Checking for SSE2 instructions... yes 
Checking for SSE3 instructions... yes 
Checking for SSSE3 instructions... yes 
Checking for SSE4.1 instructions... yes 
Checking for SSE4.2 instructions... yes 
Checking for AVX instructions... yes 
Checking for bugfree AVX support in compiler... yes 
Checking for AVX2 instructions... yes 
Checking for AVX512 F instructions... no 
Checking for C++14 support... yes 
Checking for C++1z support... yes 
Checking for compiler defaulting to C++11 or higher... yes 
0

正しいコンパイラフラグは-std = C++ 11、ない-C++ 11であるべきです。

とにかく、GCC 6.xは暗黙のうちにC++ 11を使用するので、必要ありません。これは、著者のanswerのログからも明らかです。

関連する問題