【问题标题】:LNK1104 : Cannot open file pthreadsVC2.libLNK1104:无法打开文件 pthreadsVC2.lib
【发布时间】:2014-06-27 11:44:30
【问题描述】:

这是我在使用线程构建简单代码时遇到的错误。

1>------ Rebuild All started: Project: Sample_with_Threads, Configuration: Debug Win32 ------
1>  source.cpp
1>c:\users\documents\visual studio 2010\projects\sample_with_threads\source.cpp(39): warning C4715: 'set_cur_avg' : not all control paths return a value
1>LINK : fatal error LNK1104: cannot open file 'pthreadsVC2.lib'
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

我使用 Visual C++,并按照 http://web.cs.du.edu/~sturtevant/pthread.html 在其中包含 pthreads。

为什么会出现错误,解决方法是什么?

【问题讨论】:

    标签: c++ pthreads


    【解决方案1】:

    此错误是由于文件pthreadsVC2.lib 对链接器不“可见”。确保在要链接的库列表中指定此文件,并且(如果需要)在项目设置中指定该文件的路径,以便链接器: 1.“知道”它需要链接这个库,并且, 2.可以找到文件

    从您的问题看来,您已经“包含”了 pthreads(如“包含头文件”)。这仅足以使您的源文件编译,但链接器需要知道在哪里可以找到包含在该头文件中的符号

    【讨论】:

      【解决方案2】:

      您是否完全按照您发布的链接中的说明进行操作?它说:

      • 从下载的 lib 文件夹中。

      • 将 pthreadVC2.lib(对象文件库)粘贴到 Visual Studio 2010 C++ 的 lib 文件夹。

        • 在我的计算机上,它位于 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib。它可能会相似或相同 其他系统。

      再往下一点,上面还写着:

      • 转到通用属性>链接器>输入。

      • 在 Additional Dependencies 中添加 pthreadVC2.lib 作为依赖项。

      【讨论】:

      • 嗯,你有没有为你正在构建的所有配置做到这一点,例如调试、发布等?您确定 dll 和 lib 文件在它们应该在的位置吗?抱歉,如果您完全按照这些步骤操作,我想不出为什么这不起作用。
      • ...并确保我输入“pthreadVC2.lib”而不是“pthreadsVC2.lib”。一个非常愚蠢的错误。
      猜你喜欢
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 2015-03-02
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      相关资源
      最近更新 更多