我需要能够在最初为基于Unix的系统编写的工作中编译一段代码。我正在使用cygwin和GNU gcc。每次我尝试运行make命令时,程序似乎都应该编译,但是当它到达timing.h时会产生这个错误:
Compiling: timing.c timing.h... timing.c:1:0: warning: -fPIC ignored for target
(all code is position independent)
#include "timing.h"
^
In file included from timing.c:1:0:
timing.h:5:26: fatal error: sys/resource.h: No such file or directory
#include <sys/resource.h>
^
compilation terminated.
timing.h:1:0: warning: -fPIC ignored for target (all code is position independent)
#include <sys/time.h>
^
timing.h:5:26: fatal error: sys/resource.h: No such file or directory
#include <sys/resource.h>
^
compilation terminated.
make: *** [timing.o] Error 1
从我所读到的,通常这种错误的原因是由不正确的路径引起的。 timing.h的内容如下:
#include <sys/time.h>
#include <sys/types.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/resource.h>
void timing(double* wcTime, double* cpuTime);
令我困惑的是,即使文件位于同一目录中,我只会在尝试包含最后一个文件时收到错误。我确保$ C_INCLUDE_PATH指向文件所在的位置。
$ echo $C_INCLUDE_PATH
/usr/include/
任何帮助都会很棒。这让我困扰了几天。我正在运行gcc版本4.9.0。
答案 0 :(得分:0)
您的cygwin /usr/include/sys
目录似乎缺少resource.h
文件。
我刚检查了我的cygwin安装,resource.h
和time.h
都出现在/usr/include
您可能缺少cygwin软件包,或者您的cygwin安装可能需要更新。