IM項(xiàng)目-數(shù)據(jù)庫的開端
今天開始做數(shù)據(jù)庫的實(shí)驗(yàn),數(shù)據(jù)庫選擇了mysql,這是我第一次在這一數(shù)據(jù)庫下寫東西,在網(wǎng)上找了一圈,發(fā)現(xiàn)原來這個(gè)東東是支持API方式訪問的,隨便建了個(gè)實(shí)驗(yàn)用工程、在包含mysql/include的頭文件之后,發(fā)現(xiàn)編譯時(shí)出現(xiàn)了6個(gè)錯(cuò)誤(VC6),在網(wǎng)上沒有找到相應(yīng)的解決方案,于是決定自己找原因,發(fā)現(xiàn)錯(cuò)誤都和一個(gè)叫my_socket的東東有關(guān),于是發(fā)現(xiàn)一個(gè)這樣的東西
#ifdef __WIN__
#define my_socket SOCKET
#else
typedef int my_socket;
#endif /* __WIN__ */
明顯的,這是一個(gè)用來區(qū)別對待UNIX和WIN套接字的東西,那么根據(jù)那些錯(cuò)誤提示,很可能是這個(gè)my_socket不知道自己應(yīng)該是個(gè)什么樣的東西,既然是在WIN環(huán)境下,就可以解釋為SOCKET沒有定義,這樣一來,問題就簡化了,#define my_socket SOCKET下面加上一行#include "winsock2.h"。保存再編譯。通過!
這個(gè)應(yīng)該算是mysql自身的失誤吧,許在其他win環(huán)境下的c/c++編譯器下沒問題,不過我沒試過
?差點(diǎn)忘了說,還要包含lib/opt下的libmySQL.lib才能編譯過去