我正在尝试通过Makefile在Linux上构建一个项目。
我不断收到cannot find <sys/time.h>
错误。
我四处询问,有人告诉我,我的项目无权访问图书馆文件夹。
因此,我试图通过在项目文件夹中本地使用时间库来解决此问题。 我是Linux新手。所以,请原谅我的问题,如果它听起来很幼稚。
我发现了这个,但我不知道我需要什么文件,以及如何构建库。 http://sourceware.org/git/?p=glibc.git;a=tree;f=time;h=c950c5d4dd90541e8f3c7e1649fcde4aead989bb;hb=master
答案 0 :(得分:2)
在Debian派生的发行版上,apt-get install libc6-dev
将获得所需的头文件。几乎任何C项目都需要它们。在一般情况下,Debian package search或apt-file
可以告诉您在哪里可以找到丢失的库等文件。
答案 1 :(得分:0)
首先,尝试更新您的系统。
sudo apt-get update
sudo apt-get install build-essential
这应该确保你拥有所有的库,适当的编译器等。
理想情况下,这应该可以解决您的问题。
如果没有,而不是做
#include<time.h>
尝试做,
#include<sys/time.h>
如果这也不起作用,那么在编译时,使用“-lrt”标志来解析库。
按列出的顺序执行所有这些操作。
答案 2 :(得分:0)
time.h
是属于GNU C库的头文件。作为系统上的用户,应该具有对头文件的读访问权。
检查是否已安装头文件:
find /usr/include -name time.h
如果上面的find
命令没有返回任何内容,那么很可能尚未安装GNU C库。在这种情况下,您必须在框中获得具有root权限的人才能为您安装它(以及所有依赖项)。如果您的系统是基于Redhat的,那么您将有兴趣使用yum
来安装库;如果在Ubuntu或Debian上,你会想要使用apt
。
答案 3 :(得分:-2)
你可以尝试'man time.h'寻求帮助。