致命错误(1017)从VS6迁移到VS5期间ctype.h中的整数常量表达式无效

时间:2014-07-23 12:41:27

标签: visual-studio visual-c++

在将VC ++代码从VS6(1998)迁移到VS5(晚年)时,我不得不从项目属性 - >预处理器中删除__STDC__。它修复了很多'tagVariant'相关的错误。

接下来发生的事情是许多项目文件中都没有识别出函数定义。 所以我在问题文件中添加了#define __STDC__,这也解决了许多无法识别的函数定义相关错误。

现在项目在编译一个文件时只留下一个错误 “胎儿错误(1017)ctype.h中的无效整数常量表达式”及其指向ctype.h中#define !__STDC__等行号362的代码 任何想法 - 建议?

我尝试过 - 删除您在本地添加的所有#define __STDC__。如果尚未从预处理器定义中删除__STDC__,也请将其删除。 选择解决方案资源管理器中的所有.c文件,然后在解决方案资源管理器上下文菜单中选择属性。在属性对话框中,为C / C ++ \ Language \ Disable Language Extensions属性选择/ Za。

让我回到了 - >  错误C2065:'xyz':未声明的标识符 :错误C2182:'pqr':非法使用'void'类型 :错误C2065:'some variable':未声明的标识符 :错误C2146:语法错误:缺少';'在标识符'classname'之前 :错误C2143:语法错误:缺少';'在'*'之前 :错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int :错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int :错误C2040:'variable2':'int *'的间接级别与''unknown-type''不同 。 。 。 所有错误都在我的文件中。 参考: http://social.msdn.microsoft.com/Forums/en-US/e68b0af5-ed25-4953-80e7-e88463149b77/fatal-error-1017-invalid-integer-constant-expression-in-ctypeh-during-migration-from-vs6-to-vs5?forum=vcgeneral

1 个答案:

答案 0 :(得分:-1)

哇...我可以编译项目了。大咧嘴笑:-D我确实有很多LINK错误,但我会继续努力。 我学会了这个"使用预编译的头文件(" #include")。这必须是.cpp文件中的第一个包含。" 改变了.h文件的顺序,现在我已经完成了。