pthread 在 visual studio 2013 中与应用程序静态链接

pthread static linking with application in visual studio 2013

我想将 pthread lib 静态链接到我的应用程序,以便在其他目标上不安装 pthread lib 我的 .exe 将 运行。

为此我在 visual studio 的 Linker->input->additional dependency 中添加了 pthreadVC.lib 并给出了 lib 的正确路径。

我还在 #include <pthread.h>

之前的 thread.h 文件中添加了这段代码 #define PTW32_STATIC_LIB

我的应用程序构建成功并且 运行在同一台机器上运行。但是我试图 运行 在其他目标上我得到错误 pthreadVC.dll is missing

请告诉我哪里漏了

在我的例子中,我没有静态库,我试图用动态库做静态 link。以下是执行静态 linking .

的步骤
  1. 下载 Pthread_Win32 的源代码并使用 visual studio 构建它。
  2. 所以现在你将有静态库(pthread_lib.lib)可能在路径......\pthread-win32-master\pthread-win32-master\bin\Win32_MSVC2013.Release
  3. 在您的应用程序中主要进入项目属性 Linker->input->additional dependency 并添加 pthread_lib.lib.
  4. 还将 pthread_lib.lib 的路径添加到 visual studio 属性中 Linker->General->Additional Library Directories
  5. 在头文件中添加此代码 #define PTW32_STATIC_LIB