我遇到了一个问题,那就是使用mysql和sqlite3后端构建一个使用SOCI C++ 3.2的应用程序。下面是我包含的头文件:
#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
我在网上没有找到太多关于这个问题的信息,所以如果有任何帮助,我将不胜感激!
发布于 2013-04-21 07:37:11
我理解这个问题,soci-3.1最初是安装在我的环境中(不是我自己安装的),并且我的autoconf宏从我安装的soci-3.2中选择文件,这两个文件都是从源文件和旧文件中选择的。
所以我不得不卸载之前的版本...
https://stackoverflow.com/questions/16077484
复制相似问题