关于使用clock_gettime函数报错的问题
程序员文章站
2024-01-21 22:32:40
...
在linux下写C程序的时候,出现了这个错误
error: ‘CLOCK_REALTIME’ undeclared (first use in this function)
# define CLOCK_MONOTONIC CLOCK_REALTIME
^
note: in expansion of macro ‘CLOCK_MONOTONIC’
if (clock_gettime(CLOCK_MONOTONIC,&t) != 0) {
^
note: each undeclared identifier is reported only once for each function it appears in
# define CLOCK_MONOTONIC CLOCK_REALTIME
^
note: in expansion of macro ‘CLOCK_MONOTONIC’
if (clock_gettime(CLOCK_MONOTONIC,&t) != 0) {
这里面的错误有好几个原因
其一:是要看是否包含clock_gettime()函数的头文件,#include <time.h>,这个可以再man手册里面查询;
其二:是要在程序开始加上如下代码(也就是main函数之前,因为这个是宏定义):
#ifdef _GNU_SOURCE
# undef _XOPEN_SOURCE
# define _XOPEN_SOURCE 600
# undef _XOPEN_SOURCE_EXTENDED
# define _XOPEN_SOURCE_EXTENDED 1
# undef _LARGEFILE64_SOURCE
# define _LARGEFILE64_SOURCE 1
# undef _BSD_SOURCE
# define _BSD_SOURCE 1
# undef _SVID_SOURCE
# define _SVID_SOURCE 1
# undef _ISOC99_SOURCE
# define _ISOC99_SOURCE 1
# undef _POSIX_SOURCE
# define _POSIX_SOURCE 1
# undef _POSIX_C_SOURCE
# define _POSIX_C_SOURCE 200112L
# undef _ATFILE_SOURCE
# define _ATFILE_SOURCE 1
#endif
其三:在编译 程序时写的makefile中要加上如下语句:-D _GNU_SOURCE
make:
gcc -D _GNU_SOURCE rnnoise_demo.c rnnoise.c -o main -lm -std=c99
上面代码中 -lm 是为了编译数学函数sinf(),conf()等,防止其报错。 数学函数头文件 #include <math.h>。
上一篇: PHP____PHP超全局变量
下一篇: clock_gettime获取时间
推荐阅读
-
关于使用clock_gettime函数报错的问题
-
关于php析构函数的一个有趣问题,php函数_PHP教程
-
php中使用addslashes函数报错问题的解决方法_PHP教程
-
PHP关于file_get_contens函数向本地文件传参数的问题
-
PHP关于函数传中文值乱码的有关问题
-
关于php使用system()开启linux下的firefox,报错:Error:no display specified,该如何处理
-
readdir函数使用中遇到的问题
-
关于 eval 的优化,基于使用eval这个方法实现效率低下的问题
-
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数_PHP
-
关于fsockopen函数连接43端口的有关问题