c - 如何在支持gnu99的gcc中处理 "warning: inline function ` *stat6 4` declared but never defined"

标签 c linux gcc stat gnu99

我包括 stat.h在我的 foo.c如下:

#include <sys/stat.h> 

当我按如下方式编译时:

gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -DUSE_ZLIB -DUSE_BZLIB -O0 -g -Wformat -Wall -Wswitch-enum -Wextra -std=gnu99 -DDEBUG=1 -c foo.c -o objects/foo.o -I...
gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -DUSE_ZLIB -DUSE_BZLIB -O0 -g -Wformat -Wall -Wswitch-enum -Wextra -std=gnu99 -DDEBUG=1 objects/foo.o -o ../bin/debug.foo ../lib/libfoo.a ... -lbz2 -lz

我收到以下警告,这些警告特定于 <sys/stat.h>功能:

In file included from foo.c:15:0:
/usr/local/gcc-4.7.2/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/include-fixed/sys/stat.h:317:16: warning: inline function `lstat64` declared but never defined [enabled by default]
/usr/local/gcc-4.7.2/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/include-fixed/sys/stat.h:255:16: warning: inline function `fstat64` declared but never defined [enabled by default]
...

我该如何解决这些警告中提到的问题?在我使用 -std=gnu99 迁移到 C99 支持之前,这似乎不是问题。 ,但我不确定为什么。感谢您的任何建议。

最佳答案

添加 -fgnu89-inline flag 通过启用“在 C99 模式下内联函数的传统 GNU 语义”来修复警告。

关于c - 如何在支持gnu99的gcc中处理 "warning: inline function ` *stat6 4` declared but never defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13120633/

相关文章:

android - 使用 g++ 从 Linux 编译 Android

c - 在Linux终端中使用gcc编译C文件时出错

c - 扩展汇编 : invalid instruction suffix for 'mov'

c - 如何提高C中矩阵运算的效率?

c - 即使我在 C 编程中正确输入代码,if 条件也会出错

linux - 使用 MPI 应用程序运行 perf

android - 在 Android NDK 中运行 Unix 二进制文件

c - C中的指针函数不起作用

c - C : A struct and a function的命名约定

c++ - GCC 上的#pragma pack(push, n)/#pragma pack(pop) 和 __attribute__((__packed__, aligned(n) )) 之间有什么区别?