Я разрабатываю программное обеспечение с кодом C и C++. Недавно я добавил код в стандарте C++ 11. В configure.ac я писал:Как скомпилировать проект с clang и опцией -std = C++ 11, используя autotools
for f in '-std=c++11' '-std=c++11 -stdlib=libc++'
do
AX_CHECK_COMPILE_FLAG([$f], [CXXFLAGS="$CXXFLAGS $f" stdpass=true], [], [], [])
${stdpass-false} && break
done
if ! "${stdpass-false}"; then
AC_MSG_ERROR([Unable to turn on C++11 mode with this compiler])
fi
С НКУ У меня нет проблемы, все идет хорошо вариант -std = C++ 11 применяется только к г ++, а не на GCC. Если я пытаюсь настроить с:
CC=clang ./configure
У меня есть следующее сообщение об ошибке:
checking whether C compiler accepts -std=c++11... no
checking whether C compiler accepts -std=c++11 -stdlib=libc++... no
configure: error: Unable to turn on C++11 mode with this compiler
Это как если опция была применена на компилятор C, а не только на лязг ++ (как это сделано с НКУ).
Может кто-нибудь помочь мне разобраться, что я делаю неправильно.
Проверьте 'config.log', чтобы увидеть действительную команду компиляции и полученную ошибку. –
То, что «проверяет ли ** C ** компилятор ...» сообщение, заставляет меня думать, что вы забыли [установить язык] (https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node /Language-Choice.html). –
Кроме того, вы должны использовать 'CXX = clang ++./Configure' для установки компилятора C++. –