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





