我在整个程序中多次遇到此问题我目前正在处理gcc无法识别我从库中导入的函数或文件类型,即使include指令是显然是与所有其他人一起在计划的顶部。为了解决这个问题,我一直在寻找类似的库并使用这些库中的函数,但是对于我现在正在尝试做的事情,我找到的所有库都没有工作。这是我的指令列表:
#include "oscar.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <libgen.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <time.h>
#include <utime.h>
#include <malloc.h>
我目前正在尝试更改文件中的访问和修改时间。我尝试过使用utime(),utimes(),futimens()和其他几种变体,所有这些都有同样的问题。 GCC没有认识到许多功能或文件类型。例如,我尝试使用futimens():
futimens(m_file_desc, times);
但是gcc会出现以下错误
warning: implicit declaration of function ‘futimens’
答案 0 :(得分:0)
您可能需要指定feature test macros。
从手册页:
futimens():
Since glibc 2.10:
_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
Before glibc 2.10:
_GNU_SOURCE
因此,根据您的glibc
版本,您需要使用适当的值定义_GNU_SOURCE
或_XOPEN_SOURCE
或_POSIX_C_SOURCE
。