有人用过Posix pthread win32库,dll文件
Posted
技术标签:
【中文标题】有人用过Posix pthread win32库,dll文件【英文标题】:Any one have used Posix pthread win32 library, dll files 【发布时间】:2010-11-15 21:01:11 【问题描述】:我正在尝试在 win32 环境中设置 mqueue,但需要 pthread win32 lib http://sourceware.org/pthreads-win32/。任何人都知道如何将它链接到我的 VS 项目? 谢谢
【问题讨论】:
您可能想在问题的标题中提及链接到 VS 项目以使其更具体。 @suszterpatt - q 已经被标记为 visual-c++ 【参考方案1】:您需要链接到 Visual C++ .lib
文件之一,根据您希望在库中进行的异常处理,这些文件的名称会有所不同。有关详细信息,请参阅常见问题解答here,第 2 和第 3 项。
In general:
pthread[VG]SE,CE,C.dll
pthread[VG]SE,CE,C.lib
where:
[VG] indicates the compiler
V - MS VC
G - GNU C
SE,CE,C indicates the exception handling scheme
SE - Structured EH
CE - C++ EH
C - no exceptions - uses setjmp/longjmp
For example:
pthreadVSE.dll (MSVC/SEH)
pthreadGCE.dll (GNUC/C++ EH)
pthreadGC.dll (GNUC/not dependent on exceptions)
【讨论】:
感谢您的回复。我已经选择了pthreadVC2.dll,对吗? 嗯...这不在列表中。我本来希望您希望在 C++ 中进行一些异常处理,即VCE
或 VSE
。知道2
是什么意思吗?也许是为了区分 Win32 和 Win64?我目前无法下载此内容进行检查,抱歉。
仅供参考:sourceware.org/pub/pthreads-win32/prebuilt-dll-2-8-0-release,我对不同的 EH 不是很熟悉,一种是抛出异常,另一种是抛出异常并销毁对象。我想选择第二个,但不知道哪个版本这样工作。
第二个需要VCE
,这是C++异常处理以上是关于有人用过Posix pthread win32库,dll文件的主要内容,如果未能解决你的问题,请参考以下文章
mingw-w64线程模型:posix vs win32(posix允许使用c++11的std:: thread,但要带一个winpthreads,可能需要额外dll)
pthread-win32 扩展 sem_post_multiple