在VC6.0和VS2010下编译pthreads-w32-2-8-0-release
2010-06-11 18:04
176 查看
一直工作在Linux平台下, 用惯了pthread API. 最近考虑做一套linux/windows兼容的多线程程序, 自己编译了pthreads-w32-2-8-0-release(当前最高版本). pthreads-w32是一个开源项目. 下载下来源码包解压后, 其中含有项目文件, 但有问题. 整理解决过程如下:
下载地址:
ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-8-0-release.tar.gz
或者从如下目录浏览所有版本:
ftp://sourceware.org/pub/pthreads-win32/
用VS2010或者VC++6.0创建Console形式的动态库或者静态库. 无论选择何种形式, 在项目中只需要添加pthread.c一个源文件. 不要包含其他任何源文件, pthread采用层叠包含.c的方式. pthread.c处于最高端, 在预处理完成后, 已经包含有部代码. 但是请保证pthreads-w32-2-8-0-release.tar.gz解压缩后的所有文件在同一文件夹(但是不必和项目处于同一文件夹. 项目只需要选择添加对应目录下的pthread.c文件即可)
对于动态库, 需要在pthread.c文件中include "pthread.h"语句之前添加如下两行:
#define PTW32_BUILD
#pragma comment(lib, "Ws2_32.lib")
或者如果不想更改源文件, 则在项目设置的预处理宏中添加PTW32_BUILD, 在依赖库中添加Ws2_32.lib.
对于静态库, 需要在pthread.c文件中include "pthread.h"语句之前添加如下一行:
#define PTW32_STATIC_LIB
或者如果不想更改源文件, 则在项目设置的预处理宏中添加PTW32_STATIC_LIB.
最后, 需要添加头文件查找路径,
VS2010中如下:
Project --> Properties --> c/c++ --> Additional Include Directories
下添加头文件路径, 例如在我的项目中设置为
../pthreads-w32-2-8-0-release.
VC++6.0中如下:
Tools --> Options --> Directories
下添加头文件路径, 例如我的项目中设置为
E:/work/vs2010-pthread-win32-2-8-0-release/pthreads-w32-2-8-0-release
OK, 执行Build即可.
下载地址:
ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-8-0-release.tar.gz
或者从如下目录浏览所有版本:
ftp://sourceware.org/pub/pthreads-win32/
用VS2010或者VC++6.0创建Console形式的动态库或者静态库. 无论选择何种形式, 在项目中只需要添加pthread.c一个源文件. 不要包含其他任何源文件, pthread采用层叠包含.c的方式. pthread.c处于最高端, 在预处理完成后, 已经包含有部代码. 但是请保证pthreads-w32-2-8-0-release.tar.gz解压缩后的所有文件在同一文件夹(但是不必和项目处于同一文件夹. 项目只需要选择添加对应目录下的pthread.c文件即可)
对于动态库, 需要在pthread.c文件中include "pthread.h"语句之前添加如下两行:
#define PTW32_BUILD
#pragma comment(lib, "Ws2_32.lib")
或者如果不想更改源文件, 则在项目设置的预处理宏中添加PTW32_BUILD, 在依赖库中添加Ws2_32.lib.
对于静态库, 需要在pthread.c文件中include "pthread.h"语句之前添加如下一行:
#define PTW32_STATIC_LIB
或者如果不想更改源文件, 则在项目设置的预处理宏中添加PTW32_STATIC_LIB.
最后, 需要添加头文件查找路径,
VS2010中如下:
Project --> Properties --> c/c++ --> Additional Include Directories
下添加头文件路径, 例如在我的项目中设置为
../pthreads-w32-2-8-0-release.
VC++6.0中如下:
Tools --> Options --> Directories
下添加头文件路径, 例如我的项目中设置为
E:/work/vs2010-pthread-win32-2-8-0-release/pthreads-w32-2-8-0-release
OK, 执行Build即可.
相关文章推荐
- 在VC6.0和VS2010下编译pthreads-w32-2-8-0-release
- 在VC6.0和VS2010下编译pthreads-w32-2-8-0-release.exe
- 使用vs2010 opencv2.4.4编译release版本程序
- 在vs2010 添加Gtest 测试框架X86 到x64 工程建立: 步骤 1. 先编译Gtest源码,生成DEBUG 版本"gtestd.lib"与RELEASE版本"gtest.lib"。此处不明
- VC6.0中如何把Debug编译模式修改为Release模式?
- VC6.0 编译生成Release或Debug版本
- 使用vs2010 opencv2.4.4编译release版本程序
- VC6.0 编译的程序 转换成 VS2010后,编译出错问题解决方法的总结
- vs2010编译release版本却依赖debug版本库msvcrd100.dll
- vs2010建立win32 application 编译错误(用vc6.0建立此工程正常运行)解决方法
- 使用vs2010 opencv2.4.4编译release版本程序
- 关于Debug和Release之本质区别的讨论~~(主要针对VC6.0和VS2003.net编译工具而言)
- VC6.0编译DLL,使用VS2010调用问题及解决方法
- VS2010release下编译link1104
- 关于Debug和Release之本质区别的讨论(主要针对VC6.0和VS2003.net编译工具而言)
- VC6.0如何编译生成Release或Debug版本?
- vs2010 下release编译的时候出现问题:_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”
- Windows上VS使用pthread重温经典多线程卖票(pthreads-w32-2-8-0-release.exe)(windows上使用pthread.h)
- vs2010编译vtk5.8.0 release版本失败的解决方法
- VC6.0如何编译生成Release或Debug…