操作環境
- 作業系統: Windows 7
- 現有Qt版本: 5.2.0 MSVC2012 OpenGL 64bit (使用官方"qt-windows-opensource-5.2.0-msvc2012_opengl-x86_64-offline.exe"Package安裝)
- 安裝之Qwt版本: Qwt-6.1.2
簡易安裝流程
- 至source forge下載qwt壓縮檔(Windows請下載.zip)
- 解壓縮檔案
- 設定好PATH變數,方可於命令視窗使用qmake
- (命令視窗) qmake qwt.pro
- (VS2012 x64 Native Tools Command Prompt) nmake
- (VS2012 x64 Native Tools Command Prompt) nmake install
安裝完畢,收工,easy解。
說明
其實Qwt的安裝說明講的很清楚,但自己當初也是不會弄。
Qwt doesn't distribute binary packages
When no binary packages are available (f.e. on Windows) Qwt needs to be compiled and installed on the target system.
簡單講,沒有可以double click後就完成安裝的安裝檔。必須要自己compile source code,install。以下照前述簡易安裝流程說明各步驟。
Path設定
直接在命令視窗列(可以在資料夾內按住shift,點擊右鍵,點選此處開啟命令視窗)打qmake會出現
'qmake' 不是內部或外部命令,可執行的程式或批次檔。
這代表Path變數未設定。Windows 7之qmake Path設定方法如下:
- 點選"開始",在"電腦"圖示點擊右鍵,點選"內容",跳出"控制台-系統安全性-系統"視窗
- 點選左上方之"進階系統設定",跳出"系統內容"視窗,當下分頁為"進階"
- 點選下方的"環境變數",跳出"環境變數"視窗
- 於下方"系統變數"框,選"Path"變數反白之,點選下方"編輯",跳出"編輯系統變數"視窗
- 編輯"變數值",在尾端加入Qt bin資料夾路徑 (我自己的情況,加入";C:\Qt\Qt5.2.0\5.2.0\msvc2012_64_opengl\bin")
- 在"編輯系統變數"視窗點選"確定"
- 在"環境變數"視窗點選"確定"
- 在"系統內容"視窗點選"確定"
qmake
qmake簡單講就是從.pro檔產生Makefile檔。有了Makefile檔才可進行後續compile, linking等動作。
完成qmake之Path設定後,於解壓縮之qwt-6.1.2資料夾開啟命令視窗,輸入
qmake qwt.pro
命令視窗應無產生任何提示,但資料夾內會生成Makefile檔,已可compile
nmake
nmake是MSVC的compile指令(說明連結),一般的命令視窗輸入nmake會跑出
'nmake'不是內部或外部命令、可執行的程式或批次檔。
因此,要使用Visual Studio的Command Prompt。因為我安裝的Qt版本為64bit,因此compile Qwt也要使用64bit的"VS2012 x64 Native Tools Command Promt",開啟方式為
開始→所有程式→Microsoft Visual Studio 2012→Visual Studio Tools→VS2012 x64 Native Tools Command Promt
開啟Command Prompt後,於方才qmake的工作路徑,輸入
nmake
順利的話就開始漫長的compile時程,請耐心等候。(也沒多久,大概1x min)
nmake install
一樣在"VS2012 x64 Native Tools Command Promt",輸入
nmake install
nmake install應該只是把compile好的檔案複製到路徑(C:/qwt-6.1.2/),複製完畢就大功告成。
補充說明
個人覺得直接用command line比開Qt Creator方便多了,故此分享。
錯誤補充說明
我一開始用到"適用於VS2012的開發人員命令提示字元"32bit的,產生error
Qt5OpenGL.lib(Qt5OpenGL.dll): fatal error LNK1112: 模組電腦類型'x64'與目標電腦類型'X86'衝突
NMAKE : fatal error U1077: 'echo' : 傳回碼'0x458'
...(省略)
google後才知道要用"VS2012 x64 Native Tools Command"
此外,若Qwt路徑有中文,似乎也無法順利compile。
沒有留言:
張貼留言