解决重装Qt后不能编译Examples的问题
http://blog.wuliaoa.com/2010/03/solve-qt-examples-compile-errors/
2010年3月12日 | 分类: 日志 | 标签: qt, 程序, 编译
今天祝哥来找我,说qt的example不能编译,我说咋可能呢,然后打开qt creator 从examples里随便打开一个、编译,105个错误 :orz: 。原来祝哥刚才卸载了旧版本的qt,安装了一个最新的版本,然后examples就没法编译了。我想起来我这个也是后来再次安装的一个版本,不过具体为什么会出现这个问题不太清楚。
一开始我觉得是老版本卸载完全的问题,于是卸载qt,打开%appdata%文件夹,把qt相关的文件夹删除,把注册表里的qt有关的项目删除。安装上最新的版本,打开、编译,问题依旧。
听祝哥说他同学重装系统才解决的这个问题,我想到一个思路:windows账户里新建一个管理员账户,然后切换到这个新建的账户,打开Qt Creator ,发现”Examples not Installed”
打开 “Tools”–”Options”–”Qt4″–”Qt versions” 里边没有找到路径
于是俺手动添加qmake路径和mingw目录,然后点击Rebuilt(Debugging Helper)
如图
build完成后确定,重新打开Qt Creator,随便选择一个Example、编译成功!
于是我切换到原来的windows 用户,打开qt问题依旧,然后我按照上面的办法重新试了一次,发现在Rebuilt Debugging Helper的时候出错,然后点击”Show Log”一看日志,发现很多下面的错误:
……
c:\Program Files\Microsoft Visual Studio\VC98\Include/xstring:100: error: expected ‘;’ before ‘(‘ token
In file included from c:\Program Files\Microsoft Visual Studio\VC98\Include/winnt.h:3264,
……
看到这里我马上想到了我以前安装 Microsoft Visual C++ 6.0的时候勾选了 注册环境变量 那个选项,应该就是这个环境变量搞的鬼,切换到windows新建的那个账户一看环境变量果然没有 vc的路径。
于是我打开系统属性——环境变量,删除用户变量里的include变量和lib变量,确定。然后重新打开Qt Creator,ReBuild debugging helper library,关闭并重新打开Qt Creator,随便选择一个Example,编译成功!问题到此为止已经解决,不过具体原因不大清楚。估计安装了Microsoft Visual Studio的用户也可能出现此类问题,去掉这些环境变量就ok了。如果还有部分Example编译错误请尝试Run qmake。