找回密码
 立即注册
收起左侧

关于qmake和运行报错问题

9
回复
9063
查看
[复制链接]
累计签到:161 天
连续签到:1 天
来源: 2016-9-27 16:45:39 显示全部楼层 |阅读模式
5Qter豆
同一个项目,直接运行就会报错,但是右键项目,执行Qmake就行了,我也不知道为什么,看好多人也问这个问题,请解答一下?和软件版本有关系吗?

回复

使用道具 举报

累计签到:161 天
连续签到:1 天
2016-9-27 17:39:25 显示全部楼层
环境Qt 5.5,
如下两句运行时报错
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
    QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
报错
D:\Qt example\manager\main.cpp:10: error: 'setCodecForTr' is not a member of 'QTextCodec'
     QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
     ^
D:\Qt example\manager\main.cpp:15: error: 'setCodecForCStrings' is not a member of 'QTextCodec'
     QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
     ^
两句去掉后报错更多,好像Qt5已不支持该语法,但不知怎么办
如果注释掉第一句则只有第二个错误
如果将第二句改为
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
则显示一个错误,D:\Qt example\manager\main.cpp:10: error: 'setCodecForTr' is not a member of 'QTextCodec'
     QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
     ^
同时注释掉第一句,则错误更多,不知道怎么解决?
回复

使用道具 举报

尚未签到

2016-9-27 22:57:59 显示全部楼层
查查QTextCodec的文档吧,我记得只剩下一个函数能这样用了

点评

看了,已取消codecForLocale(),但是我一取消这句,错误很多,不知道怎么替换  详情 回复 发表于 2016-9-28 20:56
回复

使用道具 举报

累计签到:161 天
连续签到:1 天
2016-9-28 20:56:11 显示全部楼层
Joey_Chan 发表于 2016-9-27 22:57
查查QTextCodec的文档吧,我记得只剩下一个函数能这样用了

看了,已取消codecForLocale(),但是我一取消这句,错误很多,不知道怎么替换
回复

使用道具 举报

尚未签到

2016-9-29 01:32:27 显示全部楼层
那说明你这代码是qt4写的

点评

所以我问Qt5怎么解决这个问题?  详情 回复 发表于 2016-9-29 18:19
回复

使用道具 举报

累计签到:161 天
连续签到:1 天
2016-9-29 18:19:32 显示全部楼层
Joey_Chan 发表于 2016-9-29 01:32
那说明你这代码是qt4写的

所以我问Qt5怎么解决这个问题?
回复

使用道具 举报

尚未签到

2016-9-29 23:54:20 显示全部楼层
suoma 发表于 2016-9-29 18:19
所以我问Qt5怎么解决这个问题?

那没办法啊。。涉及到codex的代码要全部换掉

点评

终于切中问题点了,关键是用什么换?看了帮助文档,只是说没有codecForLocale()用法,也没提到用什么换  详情 回复 发表于 2016-9-30 14:02
回复

使用道具 举报

累计签到:161 天
连续签到:1 天
2016-9-30 14:02:49 显示全部楼层
Joey_Chan 发表于 2016-9-29 23:54
那没办法啊。。涉及到codex的代码要全部换掉

终于切中问题点了,关键是用什么换?看了帮助文档,只是说没有codecForLocale()用法,也没提到用什么换
回复

使用道具 举报

尚未签到

2016-9-30 22:24:54 显示全部楼层
suoma 发表于 2016-9-30 14:02
终于切中问题点了,关键是用什么换?看了帮助文档,只是说没有codecForLocale()用法,也没提到用什么换 ...

qt4的我忘了。。qt5的可以按照文档里面的例子来重写那一些代码,当然前提你要 先搞懂原来的代码是要干嘛

点评

解决了,谢谢  详情 回复 发表于 2016-10-1 12:19
回复

使用道具 举报

累计签到:161 天
连续签到:1 天
2016-10-1 12:19:45 显示全部楼层
Joey_Chan 发表于 2016-9-30 22:24
qt4的我忘了。。qt5的可以按照文档里面的例子来重写那一些代码,当然前提你要 先搞懂原来的代码是要干嘛 ...

              解决了,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了