Я пытаюсь установить cpptest от https://sourceforge.net/projects/cpptest/, и я получаю ошибки компиляции.
Демонстрационная ошибка:
g++ -DHAVE_CONFIG_H -I. -I../config -g -O2 -MT mytest.o -MD -MP -MF .deps/mytest.Tpo -c -o mytest.o mytest.cpp
In file included from ../src/cpptest.h:34:0,
from mytest.cpp:39:
../src/cpptest-suite.h:58:17: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
void add(std::auto_ptr<Suite> suite);
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from ../src/cpptest-suite.h:33,
from ../src/cpptest.h:34,
from mytest.cpp:39:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
Смотря/usr/include/c ++/7/bits/unique_ptr.h:51, я вижу:
#if _GLIBCXX_USE_DEPRECATED
template<typename> class auto_ptr;
#endif
Кажется, нет никакого способа выключить _GLIBCXX_USE_DEPRECATED. Если так, это, кажется, конфликтует со значением по умолчанию для создания отчетов об ошибке.
Каков правильный поступок в этой точке?
Сообщения являются предупреждениями, не ошибками.
Они могут быть подавлены путем передачи -Wno-deprecated
флаг компиляции:
-Wno-deprecated Do not warn about usage of deprecated features.
напр.
./configure CXXFLAGS=-Wno-deprecated
make
С другой стороны, можно установить и использовать более старую версию компилятора, который не удерживает от использования эти функции кода
./configure CC=/usr/bin/gcc-5 CXX=/usr/bin/g++-5