免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3547 | 回复: 1
打印 上一主题 下一主题

请教一个编译问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-18 23:13 |只看该作者 |倒序浏览
编译程序,遇到如下的编译错误,感觉应该是makefile 包含头文件的问题,具体原因还请大家指导下?   



======================================================================================================
[root@localhost src]# make
gcc -I. -I/usr/realtime/include -O2 -I/usr/src/linux/include -Wall -Wstrict-prototypes -pipe -L/usr/realtime/lib -lpthread -I../../include -g -Wall -DOLD_PARAM -c can_api.c
gcc: -lpthread:未使用链接器输入文件,因为链接尚未完成
In file included from can_api.c:3:
can_api.h: In function ‘can_read_data’:
can_api.h:33: 警告:函数声明不是一个原型
In file included from /usr/src/linux/include/linux/types.h:15,
                 from ../../include/BaseTypes.h:35,
                 from can_api.c:5:
/usr/src/linux/include/linux/posix_types.h:38: 错误:为形参 ‘__kernel_fd_set’ 指定了存储类
/usr/src/linux/include/linux/posix_types.h:41: 错误:为形参 ‘__kernel_sighandler_t’ 指定了存储类
/usr/src/linux/include/linux/posix_types.h:44: 错误:为形参 ‘__kernel_key_t’ 指定了存储类
/usr/src/linux/include/linux/posix_types.h:45: 错误:为形参 ‘__kernel_mqd_t’ 指定了存储类
In file included from /usr/src/linux/include/linux/posix_types.h:48,
                 from /usr/src/linux/include/linux/types.h:15,
                 from ../../include/BaseTypes.h:35,
                 from can_api.c:5:
/usr/src/linux/include/asm/posix_types.h:10: 错误:为形参 ‘__kernel_ino_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:11: 错误:为形参 ‘__kernel_mode_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:12: 错误:为形参 ‘__kernel_nlink_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:13: 错误:为形参 ‘__kernel_off_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:14: 错误:为形参 ‘__kernel_pid_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:15: 错误:为形参 ‘__kernel_ipc_pid_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:16: 错误:为形参 ‘__kernel_uid_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:17: 错误:为形参 ‘__kernel_gid_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:18: 错误:为形参 ‘__kernel_size_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:19: 错误:为形参 ‘__kernel_ssize_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:20: 错误:为形参 ‘__kernel_ptrdiff_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:21: 错误:为形参 ‘__kernel_time_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:22: 错误:为形参 ‘__kernel_suseconds_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:23: 错误:为形参 ‘__kernel_clock_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:24: 错误:为形参 ‘__kernel_timer_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:25: 错误:为形参 ‘__kernel_clockid_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:26: 错误:为形参 ‘__kernel_daddr_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:27: 错误:为形参 ‘__kernel_caddr_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:28: 错误:为形参 ‘__kernel_uid16_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:29: 错误:为形参 ‘__kernel_gid16_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:30: 错误:为形参 ‘__kernel_uid32_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:31: 错误:为形参 ‘__kernel_gid32_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:33: 错误:为形参 ‘__kernel_old_uid_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:34: 错误:为形参 ‘__kernel_old_gid_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:35: 错误:为形参 ‘__kernel_old_dev_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:38: 错误:为形参 ‘__kernel_loff_t’ 指定了存储类
/usr/src/linux/include/asm/posix_types.h:47: 错误:为形参 ‘__kernel_fsid_t’ 指定了存储类
In file included from /usr/src/linux/include/linux/types.h:16,
                 from ../../include/BaseTypes.h:35,
                 from can_api.c:5:
/usr/src/linux/include/asm/types.h:6: 错误:为形参 ‘umode_t’ 指定了存储类
/usr/src/linux/include/asm/types.h:13: 错误:为形参 ‘__s8’ 指定了存储类
/usr/src/linux/include/asm/types.h:14: 错误:为形参 ‘__u8’ 指定了存储类
/usr/src/linux/include/asm/types.h:16: 错误:为形参 ‘__s16’ 指定了存储类
/usr/src/linux/include/asm/types.h:17: 错误:为形参 ‘__u16’ 指定了存储类
/usr/src/linux/include/asm/types.h:19: 错误:为形参 ‘__s32’ 指定了存储类
/usr/src/linux/include/asm/types.h:20: 错误:为形参 ‘__u32’ 指定了存储类
/usr/src/linux/include/asm/types.h:23: 错误:为形参 ‘__s64’ 指定了存储类
/usr/src/linux/include/asm/types.h:24: 错误:为形参 ‘__u64’ 指定了存储类
In file included from ../../include/BaseTypes.h:35,
                 from can_api.c:5:
/usr/src/linux/include/linux/types.h:181: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__le16’
/usr/src/linux/include/linux/types.h:182: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__be16’
/usr/src/linux/include/linux/types.h:183: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__le32’
/usr/src/linux/include/linux/types.h:184: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__be32’
/usr/src/linux/include/linux/types.h:186: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__le64’
/usr/src/linux/include/linux/types.h:187: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__be64’
/usr/src/linux/include/linux/types.h:189: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__sum16’
/usr/src/linux/include/linux/types.h:190: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__wsum’
/usr/src/linux/include/linux/types.h:204: 错误:expected specifier-qualifier-list before ‘__kernel_daddr_t’
/usr/src/linux/include/linux/types.h:208: 警告:空声明
In file included from can_api.c:5:
../../include/BaseTypes.h:69: 错误:为形参 ‘CAN_ADDRESS’ 指定了存储类
../../include/BaseTypes.h:73: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CAN_BOOL’
../../include/BaseTypes.h:77: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘BOOL’
../../include/BaseTypes.h:81: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘USIGN8’
../../include/BaseTypes.h:84: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘USIGN16’
../../include/BaseTypes.h:87: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘USIGN32’
../../include/BaseTypes.h:90: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘USIGN64’
../../include/BaseTypes.h:93: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘INT8’
../../include/BaseTypes.h:96: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘INT16’
../../include/BaseTypes.h:99: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘BYTE’
../../include/BaseTypes.h:102: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘OCTET’
../../include/BaseTypes.h:105: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘WORD’
../../include/BaseTypes.h:108: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DWORD’
../../include/BaseTypes.h:115: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘INT32’
../../include/BaseTypes.h:119: 错误:为形参 ‘FLOAT’ 指定了存储类
../../include/BaseTypes.h:119: 错误:为形参 ‘PFLOAT’ 指定了存储类
../../include/BaseTypes.h:122: 错误:为形参 ‘DOUBLE’ 指定了存储类
../../include/BaseTypes.h:122: 错误:为形参 ‘PDOUBLE’ 指定了存储类
../../include/BaseTypes.h:126: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘SCHAR’
In file included from can_api.c:8:
../../include/canlay2.h:119: 错误:expected specifier-qualifier-list before ‘USIGN32’
../../include/canlay2.h:132: 错误:为形参 ‘param_struct’ 指定了存储类
../../include/canlay2.h:266: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:269: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:274: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:276: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:279: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:281: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:284: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:288: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:293: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:295: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:306: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:327: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:333: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:344: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:347: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:352: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:358: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:362: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:369: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:372: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:374: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:379: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:386: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:390: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:396: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:398: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:403: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:406: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:411: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:414: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:423: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:425: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:431: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:434: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:447: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:450: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:461: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:464: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:488: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:493: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:496: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:501: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:503: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:508: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:510: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:515: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:517: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:520: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:523: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:530: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:532: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:536: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:539: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:542: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:546: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:550: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:554: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:557: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:563: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:567: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:574: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:577: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:579: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:582: 错误:expected declaration specifiers before ‘INT32’
../../include/canlay2.h:587: 错误:expected declaration specifiers before ‘INT32’
can_api.c:24: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
can_api.c:138: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
can_api.c:192: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
can_api.c:197: 错误:原型函数定义中使用了旧式参数声明
can_api.c:197: 错误:expected ‘{’ at end of input
make: *** [can_api.o] 错误 1

======================================================================================================



给点提示撒,

多谢啦

论坛徽章:
0
2 [报告]
发表于 2008-09-18 23:47 |只看该作者
LZ没有给源代码,只简单的说一些问题。
1.编译成目标文件(.o)不需要加入链接库,如 -L, -l等。
2.看LZ的头文件包含路径,是需要编译驱动吧?编译驱动最好使用Makefile, LDD3上有示例。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP