首先從官網下載“mysql++-3.1.0.tar.gz”源碼包,解壓後發現裡面有“vc2003”、“vc2005”、“vc2008”等3個檔案夾,根據你的VS版本去開啟裡面的工程來編譯mysql++,編譯前查看一下工程屬性(解決方案下有許多工程,只編譯“mysqlpp”即可,其他都是樣本),裡面的標頭檔和連結庫的包含路徑預設是MySQL5.1,如果你安裝的是其他版本就要改掉。編譯後在debug或release檔案夾下就產生了一個動態庫和一個靜態庫,你可以建立一個路徑存放這些庫檔案然後添加入Path變數,到此成功了99%,最後雙擊“install.hta”來安裝,安裝後發現安裝路徑下有一個include檔案夾,裡面是mysql++的標頭檔,有了include和lib,就可以寫一段測試代碼了:
mysqlpp::Connection _conn; _conn.set_option(new mysqlpp::SetCharsetNameOption("GBK"));//設定中文字元集 _conn.set_option(new mysqlpp::MultiStatementsOption(true)); if (_conn.connect("test","localhost","root","sa",3306)) { int _id; std::string _name; mysqlpp::Query _query = _conn.query("select * from myTable"); mysqlpp::StoreQueryResult _rs = _query.store(); for (uint i=0;i < _rs.num_rows();i++) { _id = atoi(_rs[i][0].c_str()); if (_rs[i][1] == mysqlpp::null) _name = "NULL"; else _name = _rs[i][1].c_str(); printf("%d %s\n",_id,_name.c_str()); } _conn.disconnect(); }
運行結果:
1 tom
2 NULL
3 張三
如果連結不成功或提示找不到dll就要看一下剛才產生的庫檔案是否被正確引用了。