error C4996 : 'GetVersionExW' : 被聲明爲被停止使用

1)error C4996 : 'GetVersionExW' : 被聲明爲被停止使用

解決辦法:
1、項目 >> 屬性 >> C / C++ >> 常規 >> sdl檢查,選擇“否”
2、項目 >> 屬性 C++ >> 預處理 中加入 _CRT_SECURE_NO_WARNINGS
3、#pragmawarning(disable: 4996)
類似的提示錯誤:
錯誤 C4996 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.


3) See documentation on how to use Visual C++ 'Checked Iterators'
解決辦法:
        右鍵項目-->屬性--> 【通用配置】/【c/c++】/ 【預處理器】中第一行 【預處理器定義】中右邊點擊編譯 ,在最下方加入_SCL_SECURE_NO_WARNINGS 確定即可;
注意:  添加的是_SCL_SECURE_NO_WARNINGS 去掉提示錯誤-D_SCL_SECURE_NO_WARNINGS前面的-D ;

error C4996: 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::copy':
Function call with parameters that may be unsafe - this call relies on the caller to check
that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS.
 See documentation on how to use Visual C++ 'Checked Iterators'


4) fatal error C1900: “P1”(第“20150812”版)和“P2”(第“20130802”版)之間 Il 不匹配
libmpeg.lib(mpeg-ps-enc.obj) : 找到 MSIL .netmodule 或使用 /GL 編譯的模塊;正在使用 /LTCG 重新啓動鏈接;將 /LTCG 添加到鏈接命令行以改進鏈接器性能
fatal error C1900: “P1”(第“20150812”版)和“P2”(第“20130802”版)之間 Il 不匹配
LINK : fatal error LNK1257: 代碼生成失敗
說明 20150812說明是當前VS爲2015版本的開發環境,而libmpeg.lib使用的確實VS2013版本的開發環境編譯出來的lib,出現鏈接錯誤,重新編譯一遍libmpeg.lib即可

6)error C2001:常量中有換行符
當前項目採用多字節編碼,當出現如下的代碼時候
channelInfo.strChannelName = "空";編譯出錯提示:常量中有換行符。當時經過多次編譯,還是出現這個問題,過了一段時間,不知道又可以了。採用了一個替補的方案,進行中文字節編碼,
static char szEmptyBuffer[32] = { 0xE7, 0xA9, 0xBA};//空在UTF8中的字符編碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章