我将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支持后,这似乎才不是问题,但是我不确定为什么。感谢您的任何建议。 最佳答案
通过启用“在C99模式下,内联函数的传统GNU语义”,添加 -fgnu89-inline
标志可修复警告。
关于c - 如何在支持gnu99的gcc中处理 “warning: inline function ` * stat6 4` declared but never defined”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13120633/