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文件,确定添加。