“Qt没有被正确安装,
请运行make install”
“无效的Qt版本”的解决方法
嗯,如果你遇到了这种情况,相信你的Qt版本是复制的吧。我也是这样的情况,本想自作聪明将Qt版本复制到了别的路径,却发现QtCreator不能识别。不过下面的办法可以帮你摆脱这样的困扰。也是我不久前研究出来的,核心是——修改可执行的qmake。
遇到了如上图所示的情况,首先需要分析。为什么安装的时候不会出现这个问题,而我们改变路径的时候就出问题了?很简单,路径不对呗。我们看看可用的Qt版本的详情。
我们看到有很多有关QT的环境变量,于是我想去mkspecs文件夹搜索相关的环境变量。可是我去mkspecs文件夹搜索了好几遍,没有任何收获。这是什么原因呢?
原来Qt这一招真是高,安装Qt的时候编译了qmake,将相关路径内嵌入qmake代码中了,你说我们找了半天是不是一无所获!好了,俗话说“你高一尺,我高一丈”,我决定修改一下qmake可执行文件。
首先我们来看看qmake到底有什么。用QtCreator自带的二进制编辑器打开看看。
/home/jiangcaiyang/Programs/QtSDK是我安装时候的目录,可是我改变了它改为/home/jiangcaiyang/Programs/Qt4.8.4,qmake就不工作了,难怪Qt的版本无效呢。
现在我们该修改一下了。等等QtCreator自带的二进制编辑器可是无法修改二进制文件的,还得我们自己下载编辑器。这里我们下载Ubuntu软件中心广受好评的bless二进制编辑器(需要的话可以到Ubuntu的软件中心中下载)。先将qmake备份一下,打开bless,载入qmake,Ctrl+R准备替换。这里需要注意的是,如果你的路径字节数大于原来的路径字节数,那么需要删除后面几个填充的0,如果你的路径字节数小于原来的路径字节数,那么需要补充若干个0,这样才不至于出现段错误。我一开始就是出现了这样的错误呢。下面是我修改的界面:
改完之后保存或者另存为(如果另存为的话,那么新的qmake需要手动添加权限,使用chmod+x或者使用Nautilus(Ubuntu自带的资源管理器)均可)。将新的qmake复制到/home/jiangcaiyang/Programs/Qt4.8.4/bin下,再在选项中重新载入,成功!
后记:这个办法也是不得已而为之的,因为我没怎么研究Qt是如何编译的,或许还会有更好的办法吧。不过呢,这样可以让我们不再拘泥于固定路径的Qt版本了,如果我们想打造自己的Qt便携式开发环境,那么相信我这个“土”方法一定会帮上忙的。