尝试编译项目,我在thread.h中收到此错误。
inc/thread.h:38:15: error: unknown type name 'pthread_mutex_t'
当我查看thread.h时,我看到以下内容:
#include <pthread.h>
#include "rel_assert.h"
#define MUTEX pthread_mutex_t
这是导致错误的最后一行。 搜索后我在pthreadtypes.h中找到了pthread_mutex_t结构定义,所以我尝试将其包括在内。然后我出现以下错误:
inc/pthreadtypes.h:16:3: error: #error "Never include <bits/pthreadtypes.h> directly; use <sys/types.h> instead."
inc/pthreadtypes.h:23:24: fatal error: bits/sched.h: No such file or directory
compilation terminated.
如果我包含<sys/types.h>
,我会回到原来的错误。
不知道如何解决这个问题。
UPDATE1 试图在我的主要开头定义它:
#include <pthread.h>
//#include <libbladeRF.h>
#include <sys/types.h>
int main()
{
pthread_mutex_t m;
return 0;
}
当我执行独立的c文件并从命令行使用gcc编译时,这实际上有效。但在项目中我得到了错误。我在创建项目时一定做错了。将再试一次。
答案 0 :(得分:0)
包括&#39; pthread.h&#39;和&#39; sys / types.h&#34;头文件,你不应该看到任何问题。你可以交叉验证你正在构建这段代码的环境。
我希望你正在使用&#39; pthread&#39;编译代码时使用库(使用&#34; -lpthread&#34;选项)。