1. 程式人生 > >Qt沒有被正確安裝,請執行make install問題的解決

Qt沒有被正確安裝,請執行make install問題的解決


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 = ..