我在使用带有mysql和sqlite3后端的SOCI C ++ 3.2构建应用程序时遇到了问题。这是我包含的标题:
#include <soci.h>
#include <soci-backend.h>
#include <soci-mysql.h>
#include <soci-sqlite3.h>
#include <soci.h>
#include <soci-backend.h>
#include <soci-mysql.h>
#include <soci-sqlite3.h>
以下是我收到的建筑错误:
/usr/include/soci/sqlite3/soci-sqlite3.h:263: erreur: cannot declare variable ‘soci::sqlite3’ to be of abstract type ‘const soci::sqlite3_backend_factory’
/usr/include/soci/sqlite3/soci-sqlite3.h:257: note: because the following virtual functions are pure within ‘const soci::sqlite3_backend_factory’:
/usr/local/include/soci/soci-backend.h:271: note: virtual soci::details::session_backend* soci::backend_factory::make_session(const soci::connection_parameters&) const
我在网上找不到关于此问题的更多信息,所以感谢任何帮助!
答案 0 :(得分:0)
我理解这个问题,soci-3.1最初安装在我的环境中(不是我自己),而我的autoconf宏正在从源代码和旧版本安装的soci-3.2中选择文件。
所以我不得不卸载前一个......