免费注册 查看新帖 |

Chinaunix

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

parse error before '*' [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-27 16:09 |只看该作者 |倒序浏览
编译的时候出现如下错误:
dllLib.h:35  storage class specified for parameter 'DL_NODE'
dllLib.h:42 parse error before 'DL_NODE'
dllLib.h:143 parse error before '*'
dllLib.h:143 ANSI C forbids data definition with no type or storage class

是编译器的原因吗?
怎么修改,请各位指点。

typedef struct dlnode                /* Node of a linked list. */
     {
     struct dlnode *next;        /* Points at the next node in the list */
     struct dlnode *previous;        /* Points at the previous node in the list */
     }DL_NODE;   --------------------------------------------------Line35

extern DL_LIST *dllCreate(void);  ----------------------------L143


dllLib.h 文件为库文件

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
2 [报告]
发表于 2007-09-27 18:39 |只看该作者
是不是 DL_NODE 和某个同名的宏冲突了?

方便的话给出更多的信息? 例如编译命令, 其他相关代码等等.

论坛徽章:
0
3 [报告]
发表于 2007-09-28 11:33 |只看该作者
vxworks_rs_udebug.rar (490 Bytes, 下载次数: 64) dllLib.rar (1.23 KB, 下载次数: 49) error.rar (35.91 KB, 下载次数: 71)
编译命令:  make -f vxworks_rs_udebug.mak all
输出请看附件error.doc

makefile 文件vxworks_rs_udebug.mak 源码见附件

dllLib.h文件源码见附件

宏名不会有重复定义,这个肯定没问题,因为在低版本上编译可以通过

不知道这里怎样贴源码,所以只有用附件了,请各位指点,谢谢!

论坛徽章:
0
4 [报告]
发表于 2007-09-28 16:35 |只看该作者
35行, 换个名称看看
143行,错误信息是DL_LIST 没有定义。有可能是34行定义错误而导致。

论坛徽章:
0
5 [报告]
发表于 2007-09-29 12:15 |只看该作者
DL_LIST 是由DL_NODE定义来的,所以是由DL_NODE引起的;
将第35行换了名称,如将DL_NODE换成DDL_NODE,则dllLib.h中的错误不见了,但引用dllLib.h文件的文件中的错误仍然有,如mempartLibP.h   
L166: parse error before 'DDL_NODE'

论坛徽章:
0
6 [报告]
发表于 2007-09-29 16:24 |只看该作者
这个问题解决了,好像是DL_NODE重定义了,不过我没有找到重定义的地方,将DL_NODE改成DDL_NODE后编译可以通过了,之前将部分DL_NODE写成了DDDL_NODE所以编译仍然报错

论坛徽章:
0
7 [报告]
发表于 2007-09-30 11:31 |只看该作者
grep -n -R "DL_NODE" ./usr/include/*
搜索一下就知道是否头文件已经定义了

论坛徽章:
0
8 [报告]
发表于 2007-09-30 15:54 |只看该作者
按照你的方法搜过了,还是没有找到DL_NODE已经定义过的地方
grep 中没有 -R 参数

谢谢指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP