近日在研讀bruce eckel的《c++程式設計思想 第二卷 實用程式設計技術》。閱讀到"併發"這章,作者使用開源的zthread作為執行緒庫。書中只介紹該執行緒庫在linux下的安裝與配置。而我想在windows下使用dev-c++來鏈結zthread庫,在網上查閱了許多資料,皆不甚詳細。所以,我要在此文對這個過程做更為詳細的整理,使得下一次安裝有據可循。
環境
作業系統:windows xp sp3
ide版本:dev-c++ 4.9.9.2 english version
附加工具:patch for windows 之patch-2.5.9-7-setup.exe
zthread引數修改檔案:zthread-2.3.2-no-fpermissive.diff
將裡面的內容複製到記事本,然後儲存為 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檔案,確定新增。
apache httpd在Linux上的安裝與配置
apache httpd在linux上的安裝與配置 2.安裝pcre tar zxvf pcre 8.35.tar.gz cd pcre 8.35 configure prefix usr local pcre make make install 3.安裝apr tar zxvf apr 1.5.1...
GIS mapnik在windows上的安裝
mapnik是瓦片生成器。這裡先不解釋了,等用過了再談理解。3.0.12還不支援在windows上安裝 用windows 32 bit package來安裝的mapnik是32bit的,而且要求python也是32bit的。如果是windows 32 bit sdk 安裝的話,需要c環境來編譯吧,不...
在devc 上封裝dll動態鏈結庫
今天在devc 封裝dll庫,按著教程折騰了好久,一直呼叫失敗,最後發現,在匯出函式前,除了要加 declspec dllexport 還要加extern c 完整方法如下 在你使用的編譯器上建立dll專案 新增測試函式 1 dll檔案 ifndef dll h define dll h if bu...