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里面为这个库添加了搜索路径嘛
11 个月之前 回复
CRY6666
CRY6666 在安装VS2017的时候我选择安装了Linux的C++库,,,而且在我电脑中能找到pthread,h
11 个月之前 回复
qq_34488063
qq_34488063   2017.09.27 15:45

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
windows下用cmake构建项目时找不到pthread.h头文件
解决方法:到ftp://sourceware.org/pub/pthreads-win32下载Windows平台posix线程支持库,安装即可!
Cmake “no cmake c_compiler could be found”,“无法打开输入文件”问题解决思路
最近在使用Cmake生成dilb.lib时,一直报错。然后找了很久都没找到答案 再仔细研究过错误代码之后,发现了这样一个问题。 首先cmake会有这样的提示“error in configurration process,project files may be invalid” 小框框中也会有”no cmake c_compiler could be found“ 然而这不是报错的重
protobuf vs2015编译
protobuf vs2015编译
git版本冲突及解决方案
假设一对情侣为了写一本恋爱日记,采用git + github方式来保存!男朋友:在公司把日记pull下来并且增加了“今天是2月14日,现在是6:50,我吃了一个梨,梨太难吃了” 女朋友:在公司把日记pull下来并且增加了“今天是2月14日,现在是7:10,我吃了一个梨,梨很好吃” 接着发生以下情景:女朋友吃了梨之后马上push到github上了。而男朋友下班的时候吃了一个桃子并且在日记中增加“现
程序员遇到技术问题该怎么解决
1,避免停留在现象那一层,很多刚入门者经常犯这种错误 2,自己分析现象可能产生的原因,找到问题的根源。可能需要自己查找资料做支撑,这个应该形成习惯。 遇到问题首先就得考虑自己解决,不要有依赖别人解决的初衷。 3,自己实在搞不定,再去请教同事或者上一级技术负责人;不能为了 面子一直陷在那个坑里。 或者先做其他手上的工作,让脑子在这个问题上休息一下,也许过几天解决的思路就出来了。 4,自己解
Google_Protobuf协议——Protobuf安装编译
文件版本说明 下载代码 linux下的编译安装 windows下的编译安装 Cmake编译 编译Release版本 编译Debug版本 Visual Studio 2017编译 编译Release版本 编译Debug版本 编译后的Protobuf工具 头文件包含 linux windows 库文件包含 Linux windows 版本编译文件版本说明 版本 颁布日期 修订章节 作者
程序调试黑宝书
指导你 该怎么 调试软件 还有 遇到 问题 该怎么解决
程序员遇到Bug后的30种常见反应
开发应用程序是件压力很大的事情,尤其是当编写完代码后,突然冒出个Bug,这真是让人百感交集、痛不欲生。那么,如何平心静气地解决每一个Bug,是每个程序员都要修炼的地方。 下面本文将分享程序员遇到Bug时,最常说的30句话,不知道你中枪了没? 1.我不知道该删掉还是重写。 2.在开始项目之前,我应该先在Github上找找有没有合适的框架 3.为什么这个脚本会需要这么多库? 4.在网
使用jquery过程中遇到的坑
最近在使用jquery过程中发现了几个小问题,不知道有没有其他人遇到。 问题一:            假的DOM结构,比如input的一个选中状态,用jquery进行添加和删除,在google调试中看到是正常的,但是传给后台的值是不对的。我找了很久才发现原因,我的DOM结构是假的。只是表面上看起来好像删除掉了,但实际并没有。     解决办法:解决办法很简单,就是在当前代码下面用原生js再
程序员遇到问题时怎么办
技术区: 程序员遇到问题时怎么办: 根本的指导方针 1.首先写代码的时候最好不要有缺陷。最好的修复方法就是让bug胎死腹中。 良好的单元测试强制数据库约束使用输入验证框架避免未实现的“else”条件在应用到主程序之前知道如何在孤立的情况下使用 日志 2.print语句。往往额外输出个一两行将有助于隔离问题。 3.切换至详细的日志记录。详细的日志记录有助于发