I'm facing an issue building an application with SOCI C++ 3.2 with mysql and sqlite3 backends. Here are the headers I included:

#include <soci.h>
#include <soci-backend.h>
#include <soci-mysql.h>
#include <soci-sqlite3.h>

Here is the building errors I'm getting:

/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

I did not find much information about this issue on the web so any help is appreciated!

有帮助吗?

解决方案

I understood the issue, soci-3.1 was originally installed on my environment (not by myself), and my autoconf macros were selecting files from both my installation of soci-3.2 performed from the source and the old one.

So I had to uninstall the previous one...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top