2016-06-14 6 views
0

https://chromium.googlesource.com/breakpad/breakpad/のドキュメントに基づいてブレッドパッドライブラリを構築しようとしていますが、./configure && makeを実行すると、 現在コンパイルできてもエラーが発生しますC++ 11で。ここでライブラリの作成時にエラーが発生する

./configureから出力されます。ここでは

checking build system type... x86_64-pc-linux-gnu 
checking host system type... x86_64-pc-linux-gnu 
checking for a BSD-compatible install... /usr/bin/install -c 
checking whether build environment is sane... yes 
checking for a thread-safe mkdir -p... /bin/mkdir -p 
checking for gawk... no 
checking for mawk... mawk 
checking whether make sets $(MAKE)... yes 
checking whether make supports nested variables... yes 
checking whether UID '0' is supported by ustar format... yes 
checking whether GID '0' is supported by ustar format... yes 
checking how to create a ustar tar archive... gnutar 
checking whether to enable maintainer-specific portions of Makefiles... no 
checking for style of include used by make... GNU 
checking for gcc... gcc 
checking whether the C compiler works... yes 
checking for C compiler default output file name... a.out 
checking for suffix of executables... 
checking whether we are cross compiling... no 
checking for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether gcc accepts -g... yes 
checking for gcc option to accept ISO C89... none needed 
checking whether gcc understands -c and -o together... yes 
checking dependency style of gcc... gcc3 
checking for ar... ar 
checking the archiver (ar) interface... ar 
checking dependency style of gcc... gcc3 
checking for gcc... (cached) gcc 
checking whether we are using the GNU C compiler... (cached) yes 
checking whether gcc accepts -g... (cached) yes 
checking for gcc option to accept ISO C89... (cached) none needed 
checking whether gcc understands -c and -o together... (cached) yes 
checking dependency style of gcc... (cached) gcc3 
checking how to run the C preprocessor... gcc -E 
checking for g++... g++ 
checking whether we are using the GNU C++ compiler... yes 
checking whether g++ accepts -g... yes 
checking dependency style of g++... gcc3 
checking for ranlib... ranlib 
checking for grep that handles long lines and -e... /bin/grep 
checking for egrep... /bin/grep -E 
checking for ANSI C header files... yes 
checking for special C compiler options needed for large files... no 
checking for _FILE_OFFSET_BITS value needed for large files... no 
checking for the pthreads library -lpthreads... no 
checking whether pthreads work without any flags... no 
checking whether pthreads work with -Kthread... no 
checking whether pthreads work with -kthread... no 
checking for the pthreads library -llthread... no 
checking whether pthreads work with -pthread... yes 
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE 
checking if more special flags are required for pthreads... no 
checking for sys/types.h... yes 
checking for sys/stat.h... yes 
checking for stdlib.h... yes 
checking for string.h... yes 
checking for memory.h... yes 
checking for strings.h... yes 
checking for inttypes.h... yes 
checking for stdint.h... yes 
checking for unistd.h... yes 
checking a.out.h usability... yes 
checking a.out.h presence... yes 
checking for a.out.h... yes 
checking whether g++ supports C++11 features by default... no 
checking whether g++ supports C++11 features with -std=c++11... no 
checking whether g++ supports C++11 features with -std=c++0x... no 
checking whether g++ supports C++11 features with +std=c++11... no 
checking whether g++ supports C++11 features with -h std=c++11... no 
configure: error: *** A compiler with support for C++11 language features is required. 

g++ --versionから出力されます:

g++ (Debian 4.7.2-5) 4.7.2 
Copyright (C) 2012 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

そしてここでは、C++ 11でコンパイルするサンプルアプリケーションです:

g++ -std=c++11 -g -c -pedantic -Wall -Wextra -I../boost_1_57_0 -L../boost_1_57_0/stage/lib UtilsText.cpp -o UtilsText.o 
g++ -std=c++11 -g -c -pedantic -Wall -Wextra -I../boost_1_57_0 -L../boost_1_57_0/stage/lib UtilsWeb.cpp -o UtilsWeb.o 
g++ -std=c++11 -g -c -pedantic -Wall -Wextra -I../boost_1_57_0 -L../boost_1_57_0/stage/lib WorkElement.cpp -o WorkElement.o 

ブレッドパッドが私のg ++​​について不平を言っている理由はわかりません私のコンパイラが正しく検出されるように、パラメータをオーバーライドまたは追加する方法があるかどうかを確認する必要があります。

私が紛失したり間違っていることに関するヒントはありますか?私のシステムにインストールされているかもしれない別のgccをブレークパッドで使用していますか?ここで

はconfig.logのファイルされる:GCC 4.7は、いくつかのC++ 11の機能を持っていますが、それは深刻な必要な機能のほとんどをhttp://pastebin.com/TuHrmiLv

+0

'config.log'をチェックすると、何が表示されますか?試してコンパイルするのに使用される実際のコマンドが表示されるはずです。 –

+0

@JoachimPileborg設定ログファイルへのリンクを追加しました。 gccに関するテストを行うときにいくつかのエラーがありますが、正しいバージョンを使用しているようです。任意のヒント? – BlunT

答えて

1

欠けています。したがってconfigureスクリプトはC++ 11を有効にする正しいオプションを使用していますが、コンパイラはあなたが持っている古いGCC 4.7バージョンでは利用できない機能を使用しているので、実際にはテストプログラムを処理できません。

ブレークパッドを使用する場合は、古いコンパイラをサポートする古いバージョンのブレークパッドが必要です。または、コンパイラを最新のリリースに更新する必要があります。 5シリーズはC++ 11を完全にサポートする必要があります。

+0

ありがとう!私はメインリポジトリになかったgcc 5をインストールできるように、私のdebianシステムに他のリポジトリを追加しなければなりませんでした。コンパイルは成功しました! – BlunT

関連する問題