ZThread在Dev-C++上的安裝與配置
近日在研讀Bruce Eckel的《C++編程思想 第二卷 實用編程技術》。閱讀到"併發"這章,作者使用開源的ZThread作爲線程庫。書中只介紹該線程庫在linux下的安裝與配置。而我想在windows下使用Dev-C++來鏈接ZThread庫,在網上查閱了許多資料,皆不甚詳細。所以,我要在此文對這個過程做更爲詳細的整理,使得下一次安裝有據可循。
環境
操作系統:Windows XP SP3
線程庫版本:ZThread-2.3.2 下載地址:http://zthread.sourceforge.net
IDE版本:Dev-C++ 4.9.9.2 English version
附加工具:Patch for Windows 之patch-2.5.9-7-setup.exe
下載地址:http://gnuwin32.sourceforge.net/packages/patch.htm
ZThread參數修改文件:zthread-2.3.2-no-fpermissive.diff
下載地址:http://bugs.gentoo.org/attachment.cgi?id=161093
將裏面的內容複製到記事本,然後保存爲 zthread-2.3.2-no-fpermissive.diff
步驟:
1. 解壓ZThread-2.3.2
2. 將zthread-2.3.2-no-fpermissive.diff 文件拷貝到zthread-2.3.2/目錄中。
3. 安裝Patch for Windows,添加環境變量
我的電腦-屬性-高級-環境變量-系統變量,找到"PATH"-編輯-在末尾添加";C:/Program Files/GnuWin32/bin",即patch安裝目錄下的bin路徑。
4. 開始-運行-cmd;進入zthread的安裝目錄,執行:
patch -p0 -i zthread-2.3.2-no-fpermissive.diff
這個diff文件是修改了zthread-2.3.2/include/zthread下的某些文件。所以,如果該命令執行錯誤的話,那麼,將zthread-2.3.2/include/zthread下的東西刪除乾淨,然後拷貝一份新的過去 ,再執行。這樣就不會受到執行錯誤的痕跡的影響。
如果成功應該出現下面的信息:
patching file 'include/zthread/Guard.h'
patching file 'src/MutexImpl.h'
5. 打開DEV C++,FILE-NEW-PROJECT-static library,然後在左側選項卡project中add to project,將zthread-2.3.2//src/目錄下的所有.cxx文件添加進來。在工程屬性--文件/目錄--包含文件目錄--添加zthread-2.3.2/include路徑。
6. 編譯。會產生一個.a的靜態庫文件。
7. 正式開始使用ZThread庫。
(1) 在project options-Directories-include Directories-添加zthread-2.3.2/include路徑。
(2) 添加靜態庫:在project options-Parameters-linker,在文本框中填寫-lwinmm 回車
(3) Add library or object,選擇第6步之.a文件,確定添加。