如何在DEV C++中编译ZThread。

在Thinking in C++ 第二卷中有一章节专门讲述并发,其中的例子需要ZThread,本文就介绍如何在DEV C++中编译ZThread库

准备工作

1.首先,你需要下载 ZThread-2.3.2。

2.然后解压缩,这是一个tar文件,你可以用GNUWin32下的TAR解压缩,顺便一提,许多开源项目的压缩包都用到TAR和GZIP压缩格式,为了以后方便,你也可以下载一个GZIP:

  • LibArchive for Windows, TAR: http://gnuwin32.sourceforge.net/packages/tar.htm.
  • Gzip for Windows: http://gnuwin32.sourceforge.net/packages/gzip.htm
  •     安装完成后,你需要在开始——我的电脑——属性——高级——环境变量——找到系统环境变量下的Path变量——双击——*记住,千万不要将里面的值删除,我们所做的只是添加*——将TAR,Gzip的安装路径添加在后面,添加的路径用分号;分割。

    3.还要安装一个Patch for Windows,同前面一样,需要在系统变量中设置patch的安装路径。

    4.这样你就基本完成了,但是还需要一个东西,否则DEV C++的GCC是无法编译的,一个diff文件

        到这个地址:http://bugs.gentoo.org/attachment.cgi?id=161093

        打开 zthread-2.3.2-no-fpermissive.diff  链接,将里面的内容复制到记事本,然后保存为 zthread-2.3.2-no-fpermissive.diff

    好了,这样准备完全了,接下来就是编译

    1.首先将zthread-2.3.2.tar文件解压缩,你可以用前面下载的TAR解压缩,如果你有WINRAR,也可以。

    2.将刚刚的zthread-2.3.2-no-fpermissive.diff 复制到zthread-2.3.2/目录中。

    3.这个时候就需要patch了,运行控制台命令

          patch -p0 -I zthread-2.3.2-no-fpermissive.diff

    其实你仔细看过diff文件,就会发现这个diff文件是修改了zthread-2.3.2/include/zthread下的某些文件。

    如果patch不成功,运行

         patch --help

    看看命令格式。

    如果成功应该出现下面的信息:

       patching file `include/zthread/Guard.h'

       patching file `src/MutexImpl.h'

    4.打开DEV C++,新建工程——static library——将zthread-2.3.2//src/目录下的所有.cxx文件添加进来。在工程属性——文件/目录——包含文件目录——添加zthread-2.3.2/include路径

    5.编译。会产生一个.a的静态库文件。

    如何使用

    新建工程,在工程属性中设置:

    1.包含zthread-2.3.2/include目录

    2.添加对刚才产生的.a静态库文件的链接

    然后就可以编译了。

    你可能感兴趣的:(C++,windows,File,Path,library,patch)