在网上直接下载别人编译好的Qt库,为自己使用省了不少事。但往往也会遇到些问题,其中
Qt version is not properly installed,please run make install
Qt没有被正确安装,请运行make install
这个问题是比较常见的一个。
网上看了一个帖子,终于明白原因所在,原来是qmake.exe是在Qt安装编译时生成的,里面内嵌了Qt相关的一些路径。如果直接拷贝过来使用,自己的路径结构与原来不同,则Qt库就不能正常使用。提示就是
Qt version is not properly installed,please run make install
Qt没有被正确安装,请运行make install
既然路径信息是内嵌在qmake.exe中了,应该是没法通过修改配置的方式解决这个问题了。只能对qmake.exe下手了。
(修改前,别忘了先备份一下哦)
用16进制编译器,打开qmake.exe文件,搜索
71 74 5f 70 72 66 78 70 61 74 68 3d
( qt_prfxpath  =)

看到了吧,这里有C:/QT/5.0.1-rel-static,说明编译安装是在这个目录的。要把这段内容改成我们要用的目录才行。比如改成D:/QT/5.0.1-rel-static。注意一点,修改路径时,新路径比原来路径长,长出的部分,是覆盖后面的00,如果比原来短,要把短的部分改成00.就是不要改变原文件大小,否则会出错。
是不是改完就OK了呢?别急,会不会还有其它地方也记录了路径信息呢?查找43 3a 2f 51 54 2f 35 2e 30 2e 31 2d 72 65 6c 2d 73 74 61 74 69 63  (C:/QT/5.0.1-rel-static),发现一共有17处路径,依次修改,保存。再试试,问题解决啦。

qt_prfxpath=C:/QT/5.0.1-rel-static
qt_docspath=C:/QT/5.0.1-rel-static/doc
qt_hdrspath=C:/QT/5.0.1-rel-static/include
qt_libspath=C:/QT/5.0.1-rel-static/lib
qt_lbexpath=C:/QT/5.0.1-rel-static/libexec
qt_binspath=C:/QT/5.0.1-rel-static/bin
qt_plugpath=C:/QT/5.0.1-rel-static/plugins
qt_impspath=C:/QT/5.0.1-rel-static/imports
qt_qml2path=C:/QT/5.0.1-rel-static/qml
qt_adatpath=C:/QT/5.0.1-rel-static
qt_datapath=C:/QT/5.0.1-rel-static
qt_trnspath=C:/QT/5.0.1-rel-static/translations
qt_xmplpath=C:/QT/5.0.1-rel-static/examples
qt_tstspath=C:/QT/5.0.1-rel-static/tests
qt_hpfxpath=C:/QT/5.0.1-rel-static
qt_hbinpath=C:/QT/5.0.1-rel-static/bin
qt_hdatpath=C:/QT/5.0.1-rel-static

手工改有时也挺麻烦的,做了一个小工具,自动搞定。
http://pan.baidu.com/share/link?shareid=308319&uk=673227135

手工改有时也挺麻烦的,以后做一个修改的程序,自动搞定。
最后感谢一下参考帖子作者,帖子链接如下
http://blog.csdn.net/jiangcaiyang123/article/details/8301535
======================================================================================
在roywillow的提醒下,试了qt.conf,果然更方便的解决了问题,不需要这种暴力修改方式了。
具体方法,在qmake.exe同一文件夹下,创建一个qt.conf文件(ANSI格式)
内容为
[paths]
Prefix = D:/Qt/5.0.1-rel-static
(路径根据实际情况设)
问题解决。注意,编码一定要ANSI格式,不能用UTF-8。路径分隔符要"/"或"\\"
===========================
zzhouqianq提醒下,更简单了一步,qt.conf文件内容写为
[paths]
Prefix = ..

即可,这样,对任何路径,都无需要再做修改了

 

原文链接:http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=1262&uid=123401

http://blog.csdn.net/caoshangpa/article/details/72654972

qmake.exe是在Qt安装编译时生成的,里面内嵌了Qt相关的一些路径(最简单的方法是保持一样的安装路径,最方便的办法是设置qt.conf文件)的更多相关文章

  1. Qt Creator编译时:cannot open file 'debug\QtGuiEx.exe' File not found

    Qt Creator编译时:cannot open file 'debug\QtGuiEx.exe' File not found 利用Qt Creator编译工程时,出现如题目所示的错误,其中红色部 ...

  2. apt 根据注解,编译时生成代码

    apt: @Retention后面的值,设置的为CLASS,说明就是编译时动态处理的.一般这类注解会在编译的时候,根据注解标识,动态生成一些类或者生成一些xml都可以,在运行时期,这类注解是没有的~~ ...

  3. .net postsharp编译时生成的代码?

    使用PostSharp进行AOP框架设计:一个简单的原型   AOP已经不是一个什么新名词了,在博客园使用关键字搜索可以查出n多条关于AOP的介绍,这里就不再赘述了. 在Bruce Zhang's B ...

  4. 转载-- Qt Creator编译时make: arm-linux-g++: command not found 错误!

    前提是已经配置好交叉编译器,但是qt creator找不到. 解决方法: 修改 /usr/local/Trolltech/QtEmbedded-4.7.0-arm/mkspecs/qws/linux- ...

  5. 一个极为简单的方法实现本地(离线)yum安装rpm包

    首先,我要关心的问题仍然是如何离线或者本地yum安装rpm包?这其中的关键当然是获取rpm包到本地,这其中的麻烦事是去解析依赖关系.然而,我发现一个极为简单的方法可以不用操心rpm包依赖关系,不多不少 ...

  6. Qt Creator编译时提示找不到“ui_xxx.h”文件

    解决方案: 在对应工程的*.pro文件里加上: QT+= widgets 则在编译过程中对应的“xxx.ui”文件会自动生成“ui_xxx.h”文件.

  7. Openssl - Static libraries (w32, mingw) 以及对Qt静态编译时的设置

    Openssl static libraries created for Windows 32bit using MinGW compiler   Compiled with:       ./Con ...

  8. Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

    When compiling Qt you can choose one of these options based on the configure command line: no OpenSS ...

  9. 【Andrioid】在Gradle编译时生成一个不同的版本号,动态设置应用程序标题,应用程序图标,更换常数

    写项目的时候常常会遇到下面的情况: 1.须要生成測试版本号和正式版本号的apk 2.測试版本号和正式版本号的URL是不一样的 3.測试版本号和正式版本号的包名须要不一致,这样才干安装到同一部手机上面. ...

随机推荐

  1. MySQL忘记root密码不重启mysqld的方法

    MySQL忘记root密码不重启mysqld的方法   1.首先得有一个可以拥有修改权限的mysql数据库账号,当前的mysql实例账号(较低权限的账号,比如可以修改zabbix数据库)或者其他相同版 ...

  2. [DevExpress]DevExpress 中 汉化包 汉化方法

    第一步: 在Debug 下加入 zh-CN 汉化包(自行下载) 第二步: 在 Program.cs中加入下面代码 : System.Threading.Thread.CurrentThread.Cur ...

  3. Matlab Tricks(二十五)—— plot 属性

    marker: 边缘:'MarkerEdgeColor', [],(RGB 配色) 填充:'MarkerFaceColor', [](RGB 配色)

  4. 【前端统计图】echarts改变颜色属性的demo

    一:柱状图改变颜色 图片.png 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...

  5. 生成式模型(generative) vs 判别式模型(discriminative)

    Andrew Ng, On Discriminative vs. Generative classifiers: A comparison of logistic regression and nai ...

  6. 关于MOVE 和 CopyMemory 的用法区别

    最近做了一个数据采集服务器, 根据程序的框架,使用了大量的指针结构体(内存块) 操作. 例子: PArrayByte = ^TArrayByte;  TArrayByte = packed recor ...

  7. 实现在 .net 中使用 HttpClient 下载文件时显示进度

    在 .net framework 中,要实现下载文件并显示进度的话,最简单的做法是使用 WebClient 类.订阅 DownloadProgressChanged 事件就行了. 但是很可惜,WebC ...

  8. override 与overload 的差别

    方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现.   重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个 ...

  9. 分布式缓存技术PK:选择Redis还是Memcached?

    作者:田京昆(腾讯后台研发工程师) 来源:腾云阁(https://www.qcloud.com/community/article/129) Memcached和Redis,作为近些年最常用的缓存服务 ...

  10. Enabling granular discretionary access control for data stored in a cloud computing environment

    Enabling discretionary data access control in a cloud computing environment can begin with the obtai ...