gpt4 book ai didi

c++ - 如何在 Visual Studio Community Edition 中将 pthread 库添加到 C++ 项目?

转载 作者:搜寻专家 更新时间:2023-10-31 00:33:21 24 4
gpt4 key购买 nike

我希望能够在 visual studio 中使用 pthreads,因为我正在使用它进行调试,并且正在按照此处的教程进行操作。

http://web.cs.du.edu/~sturtevant/pthread.html

这看起来很简单,将.h 文件添加到C++ 的include 目录并将.lib 文件添加到lib 目录。

但是,在检测 .h 文件时,出现错误:

Error   1   error LNK2019: unresolved external symbol __imp__pthread_create 

我认为这意味着没有正确检测到 .lib 文件。

我想我可以将 .lib 文件添加到 lib 列表中项目属性 -> 链接器 -> 附加依赖项像这样使用它的完整路径:

D:\Visual Studio\VC\lib\pthreadVC2.lib;kernel32.lib;user32.lib;

不确定将新库附加到列表的开头或结尾是否有任何优势,但似乎都不起作用。

在命令行选项卡中,我们可以看到实际运行的命令(我认为):

/OUT:"C:\projects\GTKWavePipe\NamedPipeTest\Debug\NamedPipeTest.exe" /MANIFEST /NXCOMPAT /PDB:"C:\projects\GTKWavePipe\NamedPipeTest\Debug\NamedPipeTest.pdb" /DYNAMICBASE "D:\Visual Studio\VC\lib\pthreadVC2.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /DEBUG /MACHINE:X86 /INCREMENTAL /PGD:"C:\projects\GTKWavePipe\NamedPipeTest\Debug\NamedPipeTest.pgd" /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Debug\NamedPipeTest.exe.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /TLBID:1 

有谁知道我可能做错了什么?最终,我总是可以在我的 cygwin 环境中进行调试,但我在那里使用的调试器不太好。

另外,我认为能够将库添加到 visual studio 中似乎是一项有用的技能。

最佳答案

您是否忘记将 .dll 文件添加到 bin 文件夹中?

如果您完全按照他的教程进行操作,则不需要在附加依赖项中添加任何 .lib 文件(请注意他的教程中的步骤 6-10)。我按照他的教程进行操作并开始工作。我使用的是 Visual Studio 12.0 Ultimate,但它应该与您的 Visual Studio 版本相同或非常相似。

我实际上是在这里学习他的教程:http://web.cs.du.edu/~sturtevant/w13-sys/InstallingpthreadsforVisualStudio.pdf他在其中为您提供了一个压缩文件夹,其中包含您需要的文件。我从那里得到了文件。

又是他的教程:

Add the 3 .h files (pthread.h, sched.h, sempahore.h) to the include folder under \VC (mine is C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC). Add the pthreadVC2.lib to the lib folder and pthreadVC2.dll file to the bin folder.

Next, open the property manager: in Visual Studio, go to View>Other Windows>Property Manager. Expand the Debug folder. Open Microsoft.Cpp.Win32.user (or a similarly named Property Sheet). Go to Common Properties>Linker>Input. In Additional Dependencies add pthreadVC2.lib as a dependency.

关于c++ - 如何在 Visual Studio Community Edition 中将 pthread 库添加到 C++ 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28975700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com