Я пытаюсь интегрировать rapidcheck в существующую кодовую базу C++. README говорит, что он требует C++ 11 и в значительной степени зависит от его возможностей. В существующей кодовой базе используется automake для создания всех зависимостей. Вот как я добавляю зависимость в configure.ac
:Autoconf отклонен библиотекой C++ 11, принятой компилятором, отклоняется препроцессором
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],[], [])],
[])
Здесь ошибка я получаю, когда я бегу конфигурационный скрипт:
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
содержимое 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.
I думаю, что это связано с тем, что у вас нет обновленного компилятора 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 совместимы.
gcc 4.9 имеет разумную, но не полную поддержку C++ 11. –
Так что мне нужно перейти на другую версию? Какую минимальную версию я должен обновить? –
Я бы сказал, 5.3. Текущая версия gcc равна 6.1 –