版本为3.1.0
先解压源代码 tar -xzvf mysql++-3.1.0.tar.gz
>>../configure
>>make
发现下面编译make不过:
/usr/local/mysql++-3.1.0/bk-deps g++ -c -o ssqlsxlat_genv2.o -Ilib -I/usr/local/mysql/include/mysql -g -O2 ./ssx/genv2.cpp
./ssx/genv2.cpp: In function ‘bool generate_ssqls2(const char*, const ParseV2*)’:
./ssx/genv2.cpp:71: error: ‘strcmp’ was not declared in this scope
make: *** [ssqlsxlat_genv2.o] Error 1
>>vi ./ssx/genv2.cpp
增加
#include<cstring>
重新make
>>make
安装
>>make intall
可以发现目录下已经有编译好的各个sample
随便找个执行验证下就行了
比如:
>>./simple1
发现出错:
error while loading shared libraries: libmysqlclient.so.16: cannot open share object file
是没有把libmysqlclient.so.16的路径给包含进linux环境中,
打开
>>vi /etc/ld.so.conf
添加所需要的lib路径即可(这里需要加入mysql的安装路径,我的是/usr/local/mysql/lib/mysql)
然后执行
>>/sbin/ldconfig -v
再次运行示例
>>./simple1
然后就ok了
注:
发现mysql++示例中的 server user pass等信息是通过里面有个commandLine解析的,而此cmd中竟然没有port信息,查看mysqlpp::Connection源代码发现port默认参数是0,而实际我们安装的mysql端口基本上都是3306,为了测试的方面,我更改了源代码
>>vi /usr/local/mysql++-3.1.0/lib/connection.h
红色部分即可
Connection(const char* db, const char* server = 0, const char* user = 0,
const char* password = 0, unsigned int port = 3306 );
然后重新
>>make
>>make intall
跑示例:
这个是网db中插入测试数据
>>./resetdb -s 127.0.0.1 -u root -p root
后面才是真正的测试了
>>./simple1 -s 127.0.0.1 -u root -p root
发现ok了吧