windows.h和winsock2.h包含顺序问题(转)
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://www.cnblogs.com/Billy-rao/p/4122406.html
轉載于:https://www.cnblogs.com/justkong/p/4776135.html
總結
以上是生活随笔為你收集整理的windows.h和winsock2.h包含顺序问题(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ADSL之PPPOE
- 下一篇: Visual C++ 2011-5-20