2 cry6666 CRY6666 于 2017.09.07 11:26 提问

在使用CMake时,遇到pthread.h not found该怎么解决,查了好多资料都没解决。

-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Found OpenSSL: C:/xmr-stak-dep/opensslbbeay32.lib (found version "1.0.2
l")
You have called ADD_LIBRARY for library xmr-stak-c without any source files.
This typically indicates a problem with your CMakeLists.txt file
CMake Error at CMakeLists.txt:173 (add_executable):
add_executable called with incorrect number of arguments

CMake Error at CMakeLists.txt:178 (target_link_libraries):
Cannot specify link libraries for target "xmr-stak-cpu" which is not built
by this project.

-- Configuring incomplete, errors occurred!
See also "C:/Users/Administrator/sourceild/CMakeFiles/CMakeOutput.log".
See also "C:/Users/Administrator/sourceild/CMakeFiles/CMakeError.log"

.图片说明

CMAKEError.log内容如下:
Determining if the include file pthread.h exists failed with the following output:
Change Dir: C:/xmr-stak-cpu/CMakeFiles/CMakeTmp

Run Build Command:"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional/MSBuild/15.0/Bin/MSBuild.exe" "cmTC_c3038.vcxproj" "/p:Configuration=Debug" "/p:VisualStudioVersion=15.0"
用于 .NET Framework 的 Microsoft (R) 生成引擎版本 15.3.409.57025

版权所有(C) Microsoft Corporation。保留所有权利。

生成启动时间为 2017/9/7 11:08:54。

节点 1 上的项目“C:\xmr-stak-cpu\CMakeFiles\CMakeTmp\cmTC_c3038.vcxproj”(默认目标)。

PrepareForBuild:

正在创建目录“cmTC_c3038.dir\Debug\”。

正在创建目录“C:\xmr-stak-cpu\CMakeFiles\CMakeTmp\Debug\”。

正在创建目录“cmTC_c3038.dir\Debug\cmTC_c3038.tlog\”。

InitializeBuildStatus:

正在创建“cmTC_c3038.dir\Debug\cmTC_c3038.tlog\unsuccessfulbuild”,因为已指定“AlwaysCreate”。

ClCompile:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\CL.exe /c /Zi /W3 /WX- /diagnostics:classic /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_c3038.dir\Debug\" /Fd"cmTC_c3038.dir\Debug\vc141.pdb" /Gd /TC /analyze- /errorReport:queue "C:\xmr-stak-cpu\CMakeFiles\CMakeTmp\CheckIncludeFile.c"

用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.11.25507.1 版

版权所有(C) Microsoft Corporation。保留所有权利。

cl /c /Zi /W3 /WX- /diagnostics:classic /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_c3038.dir\Debug\" /Fd"cmTC_c3038.dir\Debug\vc141.pdb" /Gd /TC /analyze- /errorReport:queue "C:\xmr-stak-cpu\CMakeFiles\CMakeTmp\CheckIncludeFile.c"

CheckIncludeFile.c

C:\xmr-stak-cpu\CMakeFiles\CMakeTmp\CheckIncludeFile.c(1): fatal error C1083: 无法打开包括文件: “pthread.h”: No such file or directory [C:\xmr-stak-cpu\CMakeFiles\CMakeTmp\cmTC_c3038.vcxproj]

已完成生成项目“C:\xmr-stak-cpu\CMakeFiles\CMakeTmp\cmTC_c3038.vcxproj”(默认目标)的操作 - 失败。

生成失败。

“C:\xmr-stak-cpu\CMakeFiles\CMakeTmp\cmTC_c3038.vcxproj”(默认目标) (1) ->
(ClCompile 目标) ->
C:\xmr-stak-cpu\CMakeFiles\CMakeTmp\CheckIncludeFile.c(1): fatal error C1083: 无法打开包括文件: “pthread.h”: No such file or directory [C:\xmr-stak-cpu\CMakeFiles\CMakeTmp\cmTC_c3038.vcxproj]
0 个警告
1 个错误

已用时间 00:00:00.31
?
?
?
?
?
哪位有经验的牛哥指点一下呗???
环境:Win7_64 VS2017 CMAke3.9.1

2个回答

zhang_guyuan
zhang_guyuan   2017.09.07 12:27

pthread.h是Linux/unix系统的标准库;貌似你的开发环境是windows;你尝试一下能不能从网上clone一份

zhang_guyuan
zhang_guyuan 回复CRY6666: 那么你请问你在CMakeList里面为这个库添加了搜索路径嘛
2 个月之前 回复
CRY6666
CRY6666 在安装VS2017的时候我选择安装了Linux的C++库,,,而且在我电脑中能找到pthread,h
2 个月之前 回复
qq_34488063
qq_34488063   2017.09.27 15:45

哥们,你这个最后是怎么解决的,我也遇到了这个问题

Csdn user default icon
上传中...
上传图片
插入图片