2

我正在尝试通过 Makefile 在 Linux 上构建一个项目。

我不断收到cannot find <sys/time.h>错误。

我四处询问,并被告知我的项目无权访问库文件夹。

因此,我试图通过在我的项目文件夹中本地使用时间库来解决这个问题。我对 Linux 很陌生。所以,如果这听起来很幼稚,请原谅我的问题。

我找到了这个,但我不知道我需要什么文件,以及如何构建库。 http://sourceware.org/git/?p=glibc.git;a=tree;f=time;h=c950c5d4dd90541e8f3c7e1649fcde4aead989bb;hb=master

  • 我在哪里可以找到 time.h 库/包?
  • 我如何建立图书馆?
4

4 回答 4

2

在 Debian 派生的发行版上,apt-get install libc6-dev将获得所需的头文件。几乎任何 C 项目都需要它们。在一般情况下,Debian 软件包搜索apt-file可以告诉您在哪里可以找到丢失的库等文件。

于 2012-06-18T09:12:08.247 回答
0

首先,尝试更新您的系统。

sudo apt-get update 
sudo apt-get install build-essential

这应该确保您拥有所有库、适当的编译器等。

这应该可以理想地解决您的问题。

如果没有,而不是做

#include<time.h>

尝试做,

#include<sys/time.h>

如果这也不起作用,那么在您编译时,使用“-lrt”标志来解析您的库。

按照列出的顺序执行所有这些操作。

于 2012-06-18T08:59:34.720 回答
0

time.h是属于 GNU C 库的头文件。作为系统上的用户,您应该具有对头文件的读取权限。

检查头文件是否已安装:

find /usr/include -name time.h

如果上述find命令没有返回任何内容,则可能是 GNU C 库尚未安装。在这种情况下,您必须让具有 root 权限的人为您安装它(以及所有依赖项)。如果您的系统是基于 Redhat 的,那么您将有兴趣使用yum它来安装该库;如果在 Ubuntu 或 Debian 上,你会想要使用apt.

于 2012-06-18T09:10:52.257 回答
-2

您可以尝试“man time.h”寻求帮助。

于 2012-06-18T08:55:32.310 回答