1. 程式人生 > >error C1853: “DebugBigBuffer.pch”預編譯頭文件來自編譯器的早期版本,或者預編譯頭為 C++ 而在 C 中使用它(或相反)

error C1853: “DebugBigBuffer.pch”預編譯頭文件來自編譯器的早期版本,或者預編譯頭為 C++ 而在 C 中使用它(或相反)

view height 編譯 ont 彈出 對話 ngs 編譯器 -c

<pre id="best-content-1299104064" mb-10"="" style="font-size: 14px; line-height: 28px; ">該錯誤是因為當項目中混合了 .cpp 和 .c 文件時,編譯器會對它們采取不同的編譯方式(主要是因為對函數聲明的處理方式不同),
因而不能共用一個預編譯頭文件。在 VC++ 中,默認的預編譯頭文件是針對 C++ 的 (stdafx.h 和 stdafx.cpp),當然也可以創建針對 C 的預編譯頭。

方法:將少數的不同類文件設為不使用預編譯頭是比較平衡的做法,方法是:對於 VC++6.0,在 FileView 裏對要取消預編譯頭的 .c (或 .cpp) 文件點右鍵,

選擇 settings,在彈出的對話框右邊選擇 category 為 precompiled headers,再設置選項為 not using ...;
(對於 VS2010,則在 solution explorer 中對相應文件點右鍵選擇 properties,在 precompiled headers 項下設置 not using... 即可。如果需要設置多個文件,
則可以按住 Ctrl 鍵再同時選中這些文件並設置)
PS:解釋如下點擊項目 點擊屬性 然後選擇C/C++ 預編譯頭 預編譯頭 不使用預編譯頭
(解決方案資源管理器-右擊需要排除的c或cpp文件]-彈出屬性菜單-展開C/C++-預編譯頭-創建/使用預編譯頭-選擇不適用預編譯頭)

error C1853: “Debug\BigBuffer.pch”預編譯頭文件來自編譯器的早期版本,或者預編譯頭為 C++ 而在 C 中使用它(或相反)