问题描述:
当将部分Creo二开历史项目直接升级到高版本时,除了本身creotoolkit的迭代导致的函数缺失/替换,还存在一个通用的问题导致项目无法编译,一般情况下编译报错如下:
C2664 ProError Pro*********(char *,char *,wchar t )“: 无法将参数 2从"const char [15]“转换为"char *
原因:
/permissive-:启用所有严格标准符合性编译器选项,并禁用大部分特定于 Microsoft 的编译器扩展(但有一些例外,比如 __declspec(dllimport))。 在 VS2019 版中此选项默认为开启状态。 /permissive- 符合性模式包括对两阶段名称查找的支持。
解决方案(不使用Qt框架):
解决方案(使用Qt框架):
当通过Qt VS Addin插件使用qt框架后,即使按照上述方式进行修改,C2664依然存在,原因在于QtProjectSetting会在默认设置之后再额外附加部分命令行内容,进而改写用户在vs项目设置中的设置项
有效解决方案如下: