跳到主要內容

Qt Creator

Qt Creator

Data Mining Project 是Netflix recommander system 的預測,與 William Gibson 同一組,在網路上找到使用 knn[1] algorithm 的 source code,他是利用 [2] 所開發netflixrecommenderframework(簡稱 Icefox's framework) 平台來 compiling knn algorithm 程式,而  Icefox's framework 是在 Qt Creator 開發完成,所以必須安裝 Qt library, Qt Creator, g++ compiler 來 compiling 程式。

Qt 原來是由 trolltech 公司所發展的 library,後來被 Nokia 購買了,是一個跨平台的 C++ library。Qt Creator 是一個 programming 的 IDE,必須配合 Qt library 及 GNU 的 G++ compiler 編譯程式。要使用 Qt 來開發程式,可以直接下載 Qt SDK 套件,整個套件包含了 Qt library, Qt Creator, MinGW(win32版本),以及 Qt Designer。 Qt Designer 是開發 GUI 介面的 IDE,等同於 wxWidgets 的功能。

windows compiling:
既然 Qt 是跨平台的開發環境,則在Windows 作業系統中 compile Netflix knn algorithm 是可行的,所以在 asus laptop 中安裝 Qt Creator,因為不知 Qt Creator 只是 IDE,一直產生 "Could not find make command: make in the build environment" 的錯誤訊息,而尋找解決此問題的方法,花費許多時間,實際上只要將 Qt SDK 下載並且安裝完成,就可以在 windows 7 中編譯 knn algorithm 了。

在 windows 平台 compile knn algorithm,結果 產生 "The process could not be started!" 錯誤訊息,主要是因為 debug mode 的目錄中找不到 .exe 檔,而在 release build 目錄中有 .exe 檔,所以就可以在 windows 7 中編譯 knn algorithm source code 。

另外,在 windwos 7 或 ubuntu 中一直 compile 失敗,因為 icefox-netflixrecommenderframework-b0315e1 目錄名稱被更換成較簡短的名稱,再使用以前 compiling 成功的所有目錄架構就沒有問題了。

Linux compiling:
原本在 ubuntu 可以編譯成功,因為 ubuntu 系統自動更新以後,無法開機而重新安裝 ubuntu,在 compiling knn algorithm 時,卻產生 tranning_set 目錄找不到的問題,實際查看過 netflix 的 datasets 確實與icefox-netflixrecommenderframework-b0315e1 在相同的目錄之中,找了很久,也看了原始程式碼,就是找不出問題,於是又到 windows 平台 compile knn algorithm,所執行的是很早以前下載的 source codes,結果 產生 "The process could not be started!" 錯誤訊息,但是它是在 debug mode ,在 Qt Creator 環境中,將 knn porject mode 改成 release mode 就可以執行 knn algorithm 了。

How to use Qt creator:
1. 建立 project :
  (a) Create Project or File ->New File or Project -> Others Project -> Empty project, than input project name and select create folder.
  (b) 接下來點選 project name 然後按右鍵,再點選 "Add Existing Files ..." 加入原始程式碼及 header,系統會自動產生 folder

2. 切換 debug to release mode :
    點選 Qt Creator 左下方的電腦小圖示,可以切換 compile mode 及 目前的 project
----------------------------------------------------------------------------------
knn source code:
1.  main.cpp, line 161 :  | 比較時要使用(), 即是() | ()
2.  main.cpp, line 278 :  long int 要使用 %ld 來 pirntf()

ice framework code:
1. probe.cpp line 169-170 : comment out for determine more than 300 users
2. porbe.cpp line 176-177 : comment out for rapid execute time

-------------------------------------------------------------
[1] http://www.netflixprize.com/community/viewtopic.php?id=981
[2] https://github.com/icefox/netflixrecommenderframework

留言

這個網誌中的熱門文章

CodeBlocks 多國語言的設定步驟

多年來一直都是使用 CodeBlocks 英文的介面,不曾想過要將 CodeBlocks 設定成多國語言的開發環境,對於不習慣於英文介面的國人,設定中文的使用介面是非常需要的環境,在 CodeBlocks 論壇有一篇文章提到 :Do you know http://wiki.codeblocks.org/index.php?title=Internationalization ?這個連結說明在 Windows 系統如何設定 CodeBlocks 成為 Internationalization 的環境,整個設定過程如下: 到 CodeBlocks 翻譯文件網站 下載 .mo 檔案:下載時需要 Ubuntu One 的帳號及密碼,登入後點選 .mo 檔案(不要下載 .po 檔是可編輯檔) 系統會傳送一封信件,點選信件的連結,將 .mo 檔案下載 將檔案複製到 C:\Codeblocks\share\CodeBlocks\locale\zh_TW 目錄(沒有這個目錄請自己建立) 開啟 CodeBlocks >> Setting >> Environment >> View >> Internationalization 選項打勾 >> 點選 Chinese 重新開啟 CodeBlocks 要加入其他語言的 .mo 檔案,則在 locale 目錄中新增其他語言的目錄名稱,例如: 德國 de_DE,這樣 CodeBlocks 就是多國語言的開發環境了。 當如果要恢復英文的介面,只要取消 Internationalization 的選項勾選,然後再次重新開啟 CodeBlocks 就回到英文的開發環境。 後記: CodeBlocks 翻譯文件網站 要下載 .mo or .po 檔案需要等待系統回復信件到 Email 信箱,無法及時處理,將這些檔案儲存在 Google Driver 的 src/CodeBlocks 目錄,以後可以從這裡直接取用。

cmd 程式無法執行的解決步驟

因為要設定 cmd 的編碼方式為 Unicode 編碼( chcp 65001),可能不小心修改了編碼,而導致cmd 無法開啟,主要的原因是:「cmd 變成沒有編碼」,所以才造成 cmd 無法開啟。在 Windows 8 中要恢復 cmd 編碼的步驟如下: 1. 滑鼠移到左上角,會出現功能的選項,點選「搜尋」的圖示 2. 在輸入的格子中,輸入「cmd」但是不要按下 enter 3. 滑鼠移到「cmd 命令提示字元」,,按下「滑鼠右鍵」 4. 下面會出現一些選項,點選「開啟檔案位置」,如此可以找到 cmd 命令提示字元的位置 5. 在「 命令提示字元」檔案中按下滑鼠右鍵,並點選「內容」 6. 點選「選項」,把「950 - Big 5 繁體中文」的編碼加入  

洗鏡光 - DCview.com達人部落格

要找 working set 的資料,從 [1] 的網站中得到他寫的作業系統筆記,而他筆記的內容大部分是從洗鏡光老師投影片的內容整理而來,於是 google "洗鏡光" 找的洗鏡光老師的投影片,結果是:「洗鏡光 - DCview.com達人部落格」,這是介紹「相機」的網站阿,怎麼是洗鏡光 老師的 blog 呢? 後來自己認為:「洗鏡光老師不可能沒有自己的網頁」,於是在「程式設計俱樂部」論壇[2]中找到洗鏡光老師的發言,其中有老師的英文名字(   shene ),再使用 shene 找,於是在找到洗鏡光老師[3]在美國的網站。從老師英文的網站中,在得知老師在台灣的網站就是「洗鏡光 - DCview.com達人部落格」,繞了一大圈才在「文章列表-- 電子計算機(電腦)科學 (3)」中,真正找到洗鏡光老師的投影片。 在 blog 中,另外有2篇文章,有一篇是說明「浮點數精確度」的問題,是值得詳細閱讀。 -------------------------------------------------------------- [1]  http://nixchun.pixnet.net/blog/category/523852 [2]  http://www.programmer-club.com.tw/ [3]  http://blog.dcview.com/blog.php?m=Bj8CZQ%3D%3D