vc6.0到vs2015版本转换问题

在vc6.0下可以运行的程序在往vs2015转换后不能运行。问题如下:

1.int变量未标识,常见于在for循环里声明的int.

2.

#define MAX 10

在vc6.0中MAX的调用既可以是CString,又可以是int,在vs2015中不能

3.LNK2026 模块对于 SAFESEH 映像是不安全的。

解决办法:

(1).打开该项目的“属性页”对话框。

(2).单击“链接器”文件夹。

(3).单击“命令行”属性页。

(4).将 /SAFESEH:NO 键入“附加选项”框中,然后点击应用。

4.LNK1104 无法打开文件“LIBC.lib”

解决办法:

项目->属性中->配置属性->链接器->输入->在忽略特定库中写入打不开的文件的名称libc.lib


在编译器里面写上代码:
#pragma comment(linker, "/NODEFAULTLIB:libc.lib")

5.error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数

解决办法:

在项目属性->链接器->输入->附加依赖项中添加依赖项 legacy_stdio_definitions.lib;

6.error msb3073 vcend exited with code 1

copy .debugICR8kOMR.dll ....pic_identifydebugICR8KOMR.DLL

通过看提示是在cmd里执行copy操作,但是实际上电脑上找不到copy到的路径,所以报错。若不需要可以将这条执行去掉。

解决办法:

右键项目属性,选择生成事件,再点击“编辑后生成事件”,可以在此处去掉命令行。

原文地址:https://www.cnblogs.com/begoogatprogram/p/7543914.html