linux下编译安装mysql++

版本为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了吧

你可能感兴趣的:(mysql,linux,server,function,user,测试)