VC重定義問題

2021-04-19 18:36:50 字數 1003 閱讀 9594

錯誤:

1>e:/program files/windows mobile 6 sdk/pocketpc/include/armv4i/winsock2.h(554) : warning c4005: 「af_max」: 巨集重定義

1>        e:/program files/windows mobile 6 sdk/pocketpc/include/armv4i/ws2bth.h(76) : 參見「af_max」的前乙個定義

1>e:/program files/windows mobile 6 sdk/pocketpc/include/armv4i/winsock2.h(634) : warning c4005: 「pf_max」: 巨集重定義

1>        e:/program files/windows mobile 6 sdk/pocketpc/include/armv4i/ws2bth.h(81) : 參見「pf_max」的前乙個定義

1>lanya1.cpp

1>e:/program files/windows mobile 6 sdk/pocketpc/include/armv4i/winsock2.h(554) : warning c4005: 「af_max」: 巨集重定義

1>        e:/program files/windows mobile 6 sdk/pocketpc/include/armv4i/ws2bth.h(76) : 參見「af_max」的前乙個定義

1>e:/program files/windows mobile 6 sdk/pocketpc/include/armv4i/winsock2.h(634) : warning c4005: 「pf_max」: 巨集重定義

1>        e:/program files/windows mobile 6 sdk/pocketpc/include/armv4i/ws2bth.h(81) : 參見「pf_max」的前乙個定義

解決:#include //這個必須在前面

#include //這個放後面

重定義問題的解釋

曾經多次在寫程式時遇到這個問題,每次遇到這個問題就積累一下 首先這類問題的原因在於鏈結的時候出錯,vs在編譯的過程中,專案中所有的cpp都會生成乙個對應的obj檔案,也就是乙個cpp檔案會生成乙個.obj的可重定位目標檔案,和linux中用命令g c cpp一樣,得到cpp檔案的單獨的二進位制檔案,...

swig包裝lua重定義問題

在用swig封裝lua時,會遇到函式 set函式或者 get函式重定義的錯誤,究其原因,是因為swig為每個結構體新增乙個get或者set函式,用來訪問結構體成員。如struct a int a swig會生成乙個名為 wrap a a get的函式來訪問變數 a 如果你剛好自己定義了乙個函式a a...

布局重定義父部件問題

將乙個元件加入到乙個布局中時,qt會自動設定這個元件的父元件。這一點qt官方文件中有詳細的描述。粗淺翻譯如下,原文在此。當你使用layout時,就不需要在建立子元件時指定父元件了。qt的layout會自動的為子元件重新定義父元件 使用qwidget setparent 父元件即為安裝了layout的...