Проблема с auto_ptr устаревшим при установке cpptest на 18,04

Я пытаюсь установить 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. Если так, это, кажется, конфликтует со значением по умолчанию для создания отчетов об ошибке.

Каков правильный поступок в этой точке?

0
задан 1 January 2019 в 17:10

1 ответ

Сообщения являются предупреждениями, не ошибками.

Они могут быть подавлены путем передачи -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
0
ответ дан 26 October 2019 в 16:26

Другие вопросы по тегам:

Похожие вопросы: