我想在 linux 中使用 C++ 连接到 mysql 数据库。在我的本地机器上,我正在运行 Ubuntu,并安装了 mysql 服务器和客户端软件包:
sudo apt-get install mysql-server mysql-client
我遇到了Mysql++,但是从他们的二进制包运行 ./configure 时遇到了一些问题。错误说:
检查 MySQL 库目录...配置:错误:在 '/usr/lib64 /usr/lib /usr/lib64/mysql /usr/lib/mysql /usr/local/lib64 /usr/local 中找不到 mysqlclient 库/lib /usr/local/lib/mysql /usr/local/mysql/lib /usr/local/mysql/lib/mysql /usr/mysql/lib/mysql /opt/mysql/lib /opt/mysql/lib/mysql /sw/lib /sw/lib/mysql'
我看到我可以在哪里使用这个命令来指定路径:
./configure --with-mysql-lib=/...
但我不知道该指向哪里。我使用 whereis mysql 但找不到任何包含 lib 子目录的 mysql 目录。mysqlclient 库将安装在哪里?
编辑:
定位后libmysqlclient
我回来了
/usr/lib/i386-linux-gnu/libmysqlclient.so.18
/usr/lib/i386-linux-gnu/libmysqlclient.so.18.0.0
/usr/lib/i386-linux-gnu/libmysqlclient_r.so.18
/usr/lib/i386-linux-gnu/libmysqlclient_r.so.18.0.0
/usr/share/doc/libmysqlclient18
/usr/share/doc/libmysqlclient18/changelog.Debian.gz
/usr/share/doc/libmysqlclient18/copyright
/var/cache/apt/archives/libmysqlclient18_5.5.22-0ubuntu1_i386.deb
/var/lib/dpkg/info/libmysqlclient18:i386.list
/var/lib/dpkg/info/libmysqlclient18:i386.md5sums
/var/lib/dpkg /info/libmysqlclient18:i386.postinst
/var/lib/dpkg/info/libmysqlclient18:i386.postrm
/var/lib/dpkg/info/libmysqlclient18:i386.shlibs
所以,我试过./configure --with-mysql-lib=/usr/lib/i386-linux-gnu
了,它似乎没有任何抱怨就完成了。
虽然这解决了 ./configure 完成的问题,但我还有更多的麻烦。当我运行时make
一切都很好,直到这一点:
在来自 ./lib/sql_buffer.h:31:0 的文件中,来自 ./lib/sql_buffer.cpp:26: ./lib/refcounted.h:258:2: error: 'size_t' does not name a type 。 /lib/refcounted.h:在构造函数“mysqlpp::RefCountedPointer::RefCountedPointer()”中:./lib/refcounted.h:89:2: 错误:类“mysqlpp::RefCountedPointer”没有任何名为“refs_”的字段' ./lib/refcounted.h: 在构造函数 'mysqlpp::RefCountedPointer::RefCountedPointer(T*)': ./lib/refcounted.h:100:2: 错误:类 'mysqlpp::RefCountedPointer' 没有任何名为“refs_”的字段./lib/refcounted.h:104:4:错误:“refs_”未在此范围内声明。/lib/refcounted.h:104:16:错误:“size_t”之前的预期类型说明符./lib/refcounted.h:104:16: 错误:预期';' 在'size_t' ./lib/refcounted.h 之前:在构造函数'mysqlpp::RefCountedPointer::
我对 C++ 不是很熟悉,所以我不确定这个错误的确切含义。任何关于如何从这一点获得 Mysql++ 设置的帮助或指导将不胜感激。虽然,我承认我也开始寻找可以使用的替代库。