C2338編譯錯誤

2021-10-06 13:28:23 字數 476 閱讀 8061

今天將乙個工程公升級為 vs2019 64 位編譯時出現如下錯誤:

error c2338: windows headers require the default packing option. changing this can lead to memory corruption. this diagnostic can be disabled by building with windows_ignore_packing_mismatch defined.
問題原因是工程配置中設定了 結構成員 1 位元組對齊。

修改方案工程配置即可:

如果需要設定結構體直接對齊,不要在工程配置中設定,因為這裡會擾亂其他結構體的直接對齊。對某個結構體需要位元組對齊,在**中使用 #pragma pack 設定即可。

c 編譯錯誤

一.變數未定義的引用 1.如果變數是類中的靜態成員,需要先在類外部初始化。否則會出現此種錯誤 二。標頭檔案包含了,卻報 zsp ipc proxy client.hh 8 1 錯誤 expected class name before endif 注意不能包含這些函式所在庫的標頭檔案。比如info ...

C語言編譯錯誤(2020 04 03)

當出現這種問題,其實一般都感覺自己沒錯,最差的方法就是重新打一遍。下面說下原因 代表編譯器在編譯原始檔時遇到了不可識別的非法字元。其值為ascii碼值243。這乙個值並不在合法的英文本元範圍 0 127 範圍內,所以一般都是由於誤輸入造成的。出現這類問題時,需要根據提示錯誤的行數,找到對應行,然後重...

C 常見編譯錯誤集

09 07 22 編譯ffdshow 無svn 080822出現如下錯誤 ffdshow error prj0019 工具從 increasing build version.解決方法 先編譯verinc工程,再編譯ffdshow,即可.09 07 24 winsock2.h與winsock.h相互...