【发布时间】:2015-03-10 23:05:32
【问题描述】:
我希望能够在 Visual Studio 中使用 pthread,因为我正在使用它进行调试,并且正在按照此处的教程进行操作。
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 中似乎是一项有用的技能。
【问题讨论】:
标签: c++ visual-studio libraries