windows.h和winsock2.h有類型重定義我是知道的,
本來就一個庫來說沒問題,把winsock2放到windows.h前或先定義WIN32_LEAN_AND_MEAN都能解決問題
但現的出了問題,自己寫的一個庫里要用到ws2tcpip,這個頭文件第一個包含的頭文件就是winsock2.h
把它放到windows前,庫是能成功編譯了,
但當我在一個wxWidgets中調用它時,又出現那個讓人厭煩的錯誤 ““sockaddr”: “struct”類型重定義”
明顯是wxWidgets先包含了windows.h,現在頭都大了,楞想不到怎么解決,在所有文件最開頭定義_WINSOCK2API_都沒用
其實最想問的是有沒有一勞永逸的解決方法,每次都要注意包含順序實在是很頭痛啊,都不明白ms干嘛在windows.h中定義winsock2中的內容,直接在windows.h中有條件包含winsock2不就什么問題也沒了..........................................
如果你是用的codeblocks可以在compiler settings的#define加入WIN32_LEAN_AND_MEAN試試,
vc的方法類似,位置不清楚,不用vc.
http://bbs.csdn.net/topics/300154390