跳到主要內容

Installing new version boost library for CodeBlock IDE

2013.08.15
--------------------------------------------
Boost 在 sourceforge  中也有 binary 的檔案,不需要到 BoostPro 中下載他們編譯的 binary 檔。 Boost document 是使用 DocBook 的套件所製作的文件,在 Boost document 第39章有介紹,另外,在 sourceforge 中也有 Boost document for pdf format 的檔案,。

---------------------------------------------
之前拿 boost library source code 來編譯,當時的版本是 1.38v,現在已經是 1.52v 了,不過編譯 boost 需要很多時間,不想再編譯,而在 Boost Getting Started on Windows 中寫道:The easiest way to get a copy of Boost is to use an installer,這個 installerBoostPro Computing 所提供,下載這個 installer 以後,就像 Windows 安裝軟體那樣容易。

  由於將 OS 升級為 Windows 8,之前所安裝的 boost library 已經不在,新版本 (1.51 版 by BoostPro) 是否將 include 的目錄架構變更或以前就沒有這個目錄,已經不可考了,總之,之前所寫的設定過程已經不能再使用了。不管這些的變化,主要能將 1.51 版本的 boost 讓 CodeBlocks IDE 可以讀得到才是重要,底下是整個設定的過程,在 codeblock.txt 檔中是簡單設定的版本。

  1. 下載 installer, 選擇所需要的 library 形式來安裝,假設是安裝在 c:\library\boost_1_51 目錄

  2. 在 CodeBlocks 中設定 Global variable:

      2a.) Setting -> Global variable, new 一個 Current variable, 名稱輸入 boost

      2b.) 在 Build-in field 的 base 欄位中輸入  c:\library\boost_1_51

      2c.) 在 lib 欄位中輸入 c:\library\boost_1_51\lib ( include 欄位不需要輸入任何路徑)

  3. 建立一個 project 或者在 Global Compiler Setting 中設定:

   這二種的差別主要是 project 只是給目前的 project 所使用,而 Global Compiler Setting 是所有的程式都可以使用,包括單獨的 C++ 程式碼皆可以使用,不過缺點在於 compiler 時都會到 boost 目錄中搜尋。

  3a. 建立一個 project:

   3a1) File -> New -> Project, 輸入 project name, path, and where to save this project

   3a2) 在 project name 按下滑鼠右鍵,選 build option

   3a3) 在 Search Directory 的 compiler tab 中加入 $(#boost.include), linker tab 中加入 $(#boost.lib)

   3a4) 如果使用 boostpro installer 安裝時沒有加入 path,請在 linker Setting tab 中加入 c:\library\boost1_51\lib 並且任意選擇一個 .lib or .a 的 library 來 linking

   3a5) 可以使用任一 boost project 測試, 例如 boost_test project in my document folder

  3b.  Global Compiler Setting 中設定:

   設定步驟與上面的相同,設定完成後就可以使用單一個 c++ 程式來測試,例如:boost_test.cpp in cppPrimer folder

簡單的說明 CodeBlocks 的 Global Variable 的意義:

1. Current Variable:
    在 CodeBlocks 中 Global Variable 是指定變數及變數值讓 CodeBlocks 使用,在 Current Variable 中設定的名稱就是所謂變數名稱,以後在其他地方就可以使用 $(#變數名稱) 來關聯到變數相關的設定值。

2. base:
    是指定變數值要存取的目錄位置,假設變數名稱設為 boost ,則在search directory 的 compiler tab 中輸入 $(#boost) 表示要 compiler 在 compiling 階段也要到 boost 變數所指定的 base 目錄中搜尋

3. include :
    是指定 include 目錄所在的位置,但是 boost 1.51 以後的版本,目錄結構是 boost_1_51\boost ,且將 .hpp 檔皆放到這個目錄當中,再連結到相對應的目錄下的檔案,所以不需要設定 include 的目錄,空白即可。在 c++ source code 中 include <boost/timer.hpp> 就可以將 header include 進來。

4. lib :
   是指定 lib 目錄所在的位置,因為 boost lib 檔都是在 c:\library\boost_1_51\lib 中,所以在 linking tab 中指定 $(#boost.lib) 是表示在 c:\library\boost_1_51\lib 中找 .lib, or .a 的檔案來做 linking。

同樣地,如果有其他的 library 可以依照上面的設定方法來設定相關的 include, library 檔。最後,特別要說明的是:如果 lib 檔可以在 OS 的 path 中找的到,可以不用再 build option 的 linker setting tab 中來指定相對的 .lib, or .a 檔
-----------------------------------------------------------------------
[1] http://forums.codeblocks.org/index.php/topic,16783.0.html

留言

這個網誌中的熱門文章

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