https://tangentsoft.com/mysqlpp/home
下载 wget https://tangentsoft.com/mysqlpp/releases/mysql++-3.2.3.tar.gz
解压 tar -zxvf
进入目录 配置
./configure --help
./configure --prefix=/local/mysql++ --with-mysql=/app/mysql/mysql_home --with-mysql-lib=/app/mysql/mysql_home/lib/ --with-mysql-include=/app/mysql/mysql_home/include
make
make install
完毕
生成静态库
ar rcu libmysqlpp.a mysqlpp_*.o ssqls2parse_parsev2.o
makefile 里面写要注意以下几点
1)静态库 和 动态库混合时 必须写死静态库的全路径
2)g++编译时 上层逻辑必须写在前面,底层逻辑写在后面。不然后面的是找不到前面的引用的。
3)如果编译选项中 用了 -static 则全部都会找静态库,找不到还会报错。
4)混合写时 -L指定 和 静态写死重合没有关系,会找写死的。
正确写法
g++ -g -std=c++11 ./o/dbserver/dbserver.o -L/local/mysql++/lib -L/app/mysql/mysql_home/lib /local/mysql++/lib/libmysqlpp.a /app/mysql/mysql_home/lib/libmysqlclient.a -lpthread -lnsl -lz -lm -ldl -lrt -o ./bin/dbserver
错误写法
g++ -g -std=c++11 -L/local/mysql++/lib -L/app/mysql/mysql_home/lib /local/mysql++/lib/libmysqlpp.a /app/mysql/mysql_home/lib/libmysqlclient.a -lpthread -lnsl -lz -lm -ldl -lrt ./o/dbserver/dbserver.o -o ./bin/dbserver