在网上直接下载别人编译好的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. Browser security standards via access control

    A computing system is operable to contain a security module within an operating system. This securit ...

  2. 【records】10.9-10.16

    .

  3. Delphi2010,DelphiXE 安装控件找不到DesignIntf 解决办法

    今天安装了一个可以支持IP 地址输入的edit控件,安装后可以放到窗体上,但是编译提示找不到DesignIntf,DesignEditors 从Delphi6开始,就对DesignIntf,Desig ...

  4. C# 从零开始写 SharpDx 应用 控制台创建 Sharpdx 窗口

    原文:C# 从零开始写 SharpDx 应用 控制台创建 Sharpdx 窗口 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http ...

  5. jQuery在线选座订座(高铁版)

    除了电影院在线选座,我们还会接触到飞机机舱选座,当然也有汽车票火车票选座的.假如有一天买火车票也提供在线选座,那么今天我来给大家介绍下如何使用jQuery选座插件完成高铁列车座位布置.选座.不同等级座 ...

  6. 《深入浅出WPF》笔记——模板篇

    原文:<深入浅出WPF>笔记--模板篇 我们通常说的模板是用来参照的,同样在WPF中,模板是用来作为制作控件的参照. 一.认识模板 1.1WPF菜鸟看模板 前面的记录有提过,控件主要是算法 ...

  7. Stompjs websocket vue

    公司项目要求要有消息提醒机制 , 多方面考虑用了ActiveMQ ,基本上现在主流的后台语言都没啥问题 , php phthon java nodejs , 等等都没问题 , 各位道友可以去查阅相关资 ...

  8. JavaScript取出字符串和尾随空格

    书写JavaScript性能trim()之前和之后删除空字符串格,的功能的应用String物replace()方法去除空字符串端到端格.trim()例如,对于功能键下面的代码: <script ...

  9. 王立平--GC

    Gabage Collection:垃圾回收 是.net中对内存管理的一种功能. 垃圾回收器跟踪并回收托管内存中分配的对象,定期运行垃圾回收以回收分配给没有有效引用的对象的内存. 当使用可用内存不能满 ...

  10. 在嵌入式程序中QT去掉鼠标指针

    在像arm的QT编程当中,一般都是使用触摸来操作,当是我们运行程序的时候会发现总是有个鼠标箭头在那里,下面介绍种方法将其给去掉.这样就漂亮多了.在main()函数加入 #include <QWS ...