• 7054阅读
  • 2回复

[讨论]vs2008环境下的Qt编程过程中发现的bug [复制链接]

上一主题 下一主题
离线quser
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-20
开发环境如题,今天想把Qt下开发的工程搬到VS2008下试试,重新编译之后就报错,(注:原来在Qt环境是编译通过).提示信息是
1>.\AddUsersInfo.cpp(103) : error C2065: “MSI_srt”: 未声明的标识符
1>.\AddUsersInfo.cpp(197) : error C2065: “MSI_srt”: 未声明的标识符
1>.\AddUsersInfo.cpp(272) : error C2065: “MSI_srt”: 未声明的标识符
1>.\AddUsersInfo.cpp(363) : error C2065: “MSI_srt”: 未声明的标识符

但是我定义了此变量
//UserInfo列名称
const QString MSI_srt ="MSI";
const QString RegisterStatus_srt = "RegisterStatus";
const QString TSCC_Index_srt = "TSCC_Index";

其它的QString 确没有报错....

于是我就观察他们的不同之处,不同之处就在于未识别的标识符的上面一行有一行注释......

于是我就在注释的后面加了一个enter
//UserInfo列名称

const QString MSI_srt ="MSI";
const QString RegisterStatus_srt = "RegisterStatus";
const QString TSCC_Index_srt = "TSCC_Index";

结果编译通过.....
碰到此类问题的朋友可以用这个方法来解决
离线dbzhang800

只看该作者 1楼 发表于: 2011-04-20
其实和Qt没关系,是VS2008的问题,它处理注释中含有中文的源码时会出现莫名奇妙的问题。

我在编译一个小的 C 测试程序时,因为无意中用了中文注释,然后在MSVC遇到这个问题,费了挺大劲才初步发现问题(只记录了一下,但没深究)
http://hi.baidu.com/cyclone/blog/item/8ee887d618722c2207088b1a.html

离线quser
只看该作者 2楼 发表于: 2011-04-20
回 1楼(dbzhang800) 的帖子
以前用vs2008 时没有碰到过这种问题,以为和Qt有关呢,  这次长知识了
快速回复
限100 字节
 
上一个 下一个