2016-06-26 12 views
1

rapidcheckを既存のC++コードベースに統合しようとしています。 READMEには、C++ 11が必要であり、その機能に大きく依存していると言われています。既存のコードベースはautomakeを使用してすべての依存関係を構築します。ここで私はconfigure.acに依存関係を追加してい方法です:C++ 11で拒否されたAutoconfライブラリがコンパイラで受け付けられ、プリプロセッサで拒否されました

CXXFLAGS="$CXXFLAGS -Wall -Werror -Wno-missing-braces -std=c++11" 
    CXXFLAGS="$CXXFLAGS -I/home/chris/dev/rapidcheck/include" 
    CXXFLAGS="$CXXFLAGS -I/home/chris/dev/rapidcheck/include/rapidcheck" 
    AC_CHECK_HEADERS(
     [rapidcheck.h], 
     [AC_CHECK_LIB([rapidcheck], [main],[], [])], 
     []) 

ここで私は、configureスクリプトを実行したときに、私は取得していますエラーです:config.log

3501 configure:22873: checking rapidcheck.h usability 
3502 configure:22873: g++ -std=c++11 -c -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wall -Werror -Wno-missing-braces -std=c++11 -I/home/chris/dev/rapidcheck/include -I/home/chris  /dev/rapidcheck/include/rapidcheck -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS conftest.cpp >&5 
3503 configure:22873: $? = 0 
3504 configure:22873: result: yes 
3505 configure:22873: checking rapidcheck.h presence 
3506 configure:22873: g++ -std=c++11 -E -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS conftest.cpp 
3507 conftest.cpp:58:24: fatal error: rapidcheck.h: No such file or directory 
3508 compilation terminated. 

checking rapidcheck.h usability... yes 
checking rapidcheck.h presence... no 
configure: WARNING: rapidcheck.h: accepted by the compiler, rejected by the preprocessor! 
configure: WARNING: rapidcheck.h: proceeding with the compiler's result 
checking for rapidcheck.h... yes 
checking for main in -lrapidcheck... no 

内容私は、それは、最新のC++コンパイラを持っていないことと関係があると思います。ここで

C++、私がインストールされているのバージョンです:

[email protected]:~/dev/bitcoin$ g++ --version 
g++ (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3 
Copyright (C) 2015 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だと思うどの

+1

gcc 4.9には、C++ 11の合理的なサポートがありますが、完全ではありません。 –

+0

別のバージョンにアップグレードする必要がありますか?アップグレードする必要がある最小限のバージョンは何ですか? –

+0

私は5.3と言います。 gccの現在のバージョンは6.1です。 –

答えて

1

automakeとは関係がありません。autoconfと関係があります。

特に、autoconfがプリプロセッサよりもコンパイラの出力を良く受け入れるため、この警告は無視してください。誰かが既にコメントの中で述べたように、-Iフラグをプリプロセッサに渡してヘッダを見つけるのにはCPPFLAGSを使用するべきですが、この場合はそれほど重要ではありません。configure.acではなくインストール場所がユーザーによって定義されているため外部から渡されます)。

関連する問題