スクリプトのautoconf
作成に使用しようとしています。configure
ただし、確認したいいくつかのヘッダーには追加のコンパイラフラグが必要です(たとえばc++11
、.回答の一部を取得できます)。ここファイルの関連行は以下のとおりですconfigure.ac
。
AX_CXX_COMPILE_STDCXX_11(,[mandatory])
AC_CHECK_HEADER("CL/cl2.hpp")
ただし、std=gnu++11
フラグは前処理ステップに渡されず、使用AC_CHECK_HEADERS
可能ですが存在しないという奇妙な結果をもたらします。
checking CL/cl2.hpp usability... yes
checking CL/cl2.hpp presence... no
config.log
次の行を確認してください。
configure:3423: checking CL/cl2.hpp presence
configure:3423: g++ -E conftest.cpp
In file included from conftest.cpp:19:0
/usr/include/CL/cl2.hpp:442:2: error #error Visual studio 2013 or another C++11-supported compiler required
C ++フラグが使用されていないことは明らかです。これらの前処理ステップでコンパイラフラグをどのように使用できますか?
編集する
CXXCPP
実行時に手動で設定することでこの問題を手動で解決できますが、エンドconfigure
ユーザーはそれを知らなくても機能したいと思います。
./configure CXXCPP="g++ -E -std=gnu++11"
答え1
現在提案されている解決策は手動で追加することです。
CXXCPP="g++ -E -std=gnu++11"
configure.ac
ファイルに直接。他の答えを聞きたいです。
答え2
次のように構成を実行する必要があります。
./configure CCFLAGS="-std=c++11" CXXFLAGS="-std=c++11" CXXCPP="-std=c++11"