класс std :: auto_ptr 'устарел при попытке компиляции с библиотекой mysql ++ - PullRequest
0 голосов
/ 25 февраля 2019

Я столкнулся с проблемой компиляции при попытке использовать mysql ++. H в моей программе на C ++ на платформе ASUS Tinker Board.

Включения выглядят так:

#include <mysql++.h>
#include <stdlib.h>

Выполнена команда G ++это:

g++ -I/usr/include/mysql -I/usr/include/mysql++ -L/usr/lib -lmysqlpp -lmysqlclient mysql.c -o mysql

Вывод содержит следующее:

In file included from /usr/include/mysql++/sql_buffer.h:31:0,
                 from /usr/include/mysql++/stadapter.h:35,
                 from /usr/include/mysql++/qparms.h:35,
                 from /usr/include/mysql++/query.h:35,
                 from /usr/include/mysql++/mysql++.h:58,
                 from mysql.c:1:
/usr/include/mysql++/refcounted.h: In constructor ‘mysqlpp::RefCountedPointer<T, Destroyer>::RefCountedPointer(T*)’:
/usr/include/mysql++/refcounted.h:104:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
   std::auto_ptr<T> exception_guard(counted_);
        ^~~~~~~~
In file included from /usr/include/c++/6/memory:81:0,
                 from /usr/include/mysql++/refcounted.h:31,
                 from /usr/include/mysql++/sql_buffer.h:31,
                 from /usr/include/mysql++/stadapter.h:35,
                 from /usr/include/mysql++/qparms.h:35,
                 from /usr/include/mysql++/query.h:35,
                 from /usr/include/mysql++/mysql++.h:58,
                 from mysql.c:1:
/usr/include/c++/6/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~

Я попытался изменить файл "/refcounts.h", изменив "std ::"auto_ptr "by" std :: unique_ptr ", он успешно компилируется, но я получаю" Ошибка сегментации "при попытке запустить мою программу.

Пожалуйста, помогите, спасибо.

...