Visual Studio的其他问题

一、不安全函数的错误 This function or variable may be unsafe

  • 问题描述
    在较新版本的VS中调用不安全函数会提示【error C4996: ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.】
  • 解决方案
    (方案1)在项目属性的预编译命令中添加宏【_CRT_SECURE_NO_WARNINGS】,注意选择匹配的目标平台。
    在这里插入图片描述
    (方案2)在预编译头文件stdafx.h里(一定要在没有include任何头文件之前)定义宏【#define _CRT_SECURE_NO_DEPRECATE】

二、无法解析的外部符号 WinMain

  • 问题描述
    如果将原先的DLL动态库项目设置为EXE可执行项目,添加了main函数后,在编译的时候会报错:
    == LNK2019 无法解析的外部符号 WinMain,该符号在函数 “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ) 中被引用 WallHack D:\repos\WallHack\WallHack\MSVCRTD.lib(exe_winmain.obj) 1 ==
    在这里插入图片描述
  • 解决办法
    项目属性- 链接器-系统-子系统-选择“控制台 (/SUBSYSTEM:CONSOLE)”
    在这里插入图片描述
发布了56 篇原创文章 · 获赞 5 · 访问量 7443

猜你喜欢

转载自blog.csdn.net/forchoosen/article/details/103534586