linux重新编译mysql_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
重新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了吧
總結
以上是生活随笔為你收集整理的linux重新编译mysql_linux下编译安装mysql++ | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql创建函数1418_Mysql中
- 下一篇: mysql编写完怎么执行_面试官:一条M