2014-04-28 34 views
0

已解决的更改,解决方案如下。已解决 - CC编译没有得到我在代码


所以,我有我已经修改了两件事情该C模块:增加了一个参数的函数,并加入一个参数到一个结构。

的事情是,使用CC(从我继承了一个脚本)编译时,我得到了错误的地方形式交往我的变化(很抱歉,如果翻译不准确):

 
error: too many arguments for 'function_that_I_added_the_argument' 
error: struct 'struct_I_added_the_element' doesn't has a member called 'element_I_added' 

我检查几次源文件(只要脚本调用旧版本),但一切似乎都很好。

现在我很无能。任何想法?

编辑:每次流行上访之作补充部分: 让是:

·路径的文件。

·module1.c模块,其中我修改的功能是。

 
cc -c //folder/module1.c -Wall -DLINUX -I/ -I//otherFolder -I//include -o //folder/module1.o 

我没有包含的源,因为它是作为函数和结构声明可以像直接:短整型值; (用于结构体)和函数(params ...,简称param)。


解决:

终于找到了问题...

a)项目已经宣布两个结构(结构petecander和结构structPetecander),编译器告诉我关于“结构structPetecander “没有structPetecander的元素。当然,它没有它,因为它是另一个结构与一个该死的类似的名字。

b)我得到了“function_that_I_added_the_argument的参数太多”。在Java中编程时间过长让我忘记了C中的你必须在.h中声明函数

两条错误消息(埋在其他错误之下)给了我提示。很抱歉的坏翻译: /module.c ::错误:冲突类型 /headers.h ::错误先前声明的是这里

时间去哭了一下一个角落,我猜。

+2

没有“脚本”我们将是非常无知也。 –

+2

将相关部分的来源添加到帖子中。 –

+0

它看起来像头文件尚未更新。如果你只运行预处理器(选项'-E'编译器),你可以看看预处理文件。 –

回答

0

两年后,我想起了自动回答我并标记这是解决,所以,复制粘贴从我自己编辑:

解决:

终于找到了问题...

a)该项目已经声明了两个结构体(struct petecander和struct structPetecander),并且编译器告诉我关于没有structPetecander元素的“struct structPetecander”。当然,它没有它,因为它是另一个结构与一个该死的类似的名字。

b)我得到了“function_that_I_added_the_argument的参数太多”。在Java中有太多的时间编程让我忘了,在C你在.h声明函数

两个错误消息(下面埋的其他错误)给我的暗示。很抱歉的坏翻译:/module.c ::错误:冲突类型/headers.h ::错误先前声明的是这里

时间去哭了一下一个角落,我猜。