1. 程式人生 > >error C3163: “_vsnprintf”: 屬性與以前的宣告不一致

error C3163: “_vsnprintf”: 屬性與以前的宣告不一致

2005專案升級為2008,出現以上錯誤。

解決辦法:

找到程式中定義vsnprintf的巨集(可能在某個被包含的標頭檔案中),這裡出現的問題的巨集原來定義為#define vsnprintf _vsnprintf。 解決辦法就是將其根據版本來決定是否註釋,原因是VC2008 已經定義了。

修改成如下的樣子:

#if (_MSC_VER != 1500)   // 只針對VC++ 2008註釋下面的程式碼行 #    define vsnprintf _vsnprintf #endif

或者修改為:

#if (_MSC_VER < 1500) #define vsnprintf _vsnprintf #endif