日期:2014-05-16  浏览次数:20813 次

linux开发c,需要用外部库,编译遇到问题未知的类型名‘off64_t’
gcc - main.c -o main -l /usr/include/apr-1.0

In file included from /usr/include/apr-1.0/apr_general.h:28:0,
                 from main.c:13:
/usr/include/apr-1.0/apr.h:358:1: 错误: 未知的类型名‘off64_t’

------解决方案--------------------
gcc -D_LARGEFILE64_SOURCE=1

------解决方案--------------------
楼主可以用apr-1-config命令查看需要的编译选项和链接库
------解决方案--------------------
用下面的命令查看需要什么库,然后加上相应的库就可以了。
apr-1-config --link-ld --libs 
------解决方案--------------------
如果安装在标准位置,使用下面的命令
gcc -D_LARGEFILE64_SOURCE=1 -pthread -I/usr/include/apr-1.0 main.c -o main -lapr-1
应该就可以了。
------解决方案--------------------
-D_LARGEFILE64_SOURCE=1 是为了使用 off64_t

原因可在文件
/usr/include/features.h
查找 _LARGEFILE64_SOURCE

在文件
/usr/include/features.h
查找 __USE_LARGEFILE64 和 off64_t