今天,用Qt Creator写第一个简单的小程序“HelloQt”,运行时报错:error: cannot open C:\Users\敏\AppData\Local\Temp\main.obj.5136.0.jom for write,我知道应该是路径中应该不能含有中文,可是几经周折通过改账户名称(企图将其改为英文名称)的方式发现解决不了:
如在注册表中修改掉也是不行的,因为我们要用到的AppData下的东西与账户是绑定的,修改了你整个有关设置都改变了!(appdata就是xp里的application data. 有在各种程序里的自定义设置,包括程序里可以个性化设置而不能影响替他用户文件,临时文件夹,快速启动文件夹等. 它是重要的系统文件夹,)
这样,只能想其他办法了,根据error信息判断,问题或许与main.obj.5136.0.jom有关,应该是项目的设置问题。果不其然,工具->选项->构建和运行,不要使用jom代替nmake。这样设置后就能成功运行了:
接着又遇到了,在其他IDE环境中也经常遇到的字符编码问题:
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
解决办法也很简单,将我们的代码保存为 utf-8 带 BOM 格式的文件就可以了。Qt Creator 保存文件默认是 utf-8 格式的,但是不带 BOM。
我们可以修改一下设置,让它每次保存是都保留 BOM。设置方法如下图:
可参阅文章:qt中文乱码问题(对乱码问题讲得不错)