所以,我有一个c模块,在其中我修改了两件事:向函数添加一个参数,向结构添加一个变量。
问题是,当使用cc(从我继承的脚本中)编译时,无论我的更改在哪里,我都会收到错误消息(如果翻译不准确,很抱歉):
错误:"function_that_I_added_the_argument"的参数太多错误:结构"struct_I_aded_the_element"没有名为"element_I_aded"的成员
我已经检查了好几次源文件(就像脚本调用旧版本一样),但似乎一切都很好。
现在我一无所知。知道吗?
编辑:添加了按流行请愿书制作的部分内容:假设:
·文件的路径。
·module1.c我修改的功能是.的模块
cc-c//folder/module1.c-Wall-DLINUX-I/-I/otherFolder-I//include-o文件夹/module1.o
我没有包含source,因为它像函数和结构声明一样简单:short int value;(对于结构)和函数(params…,短param)。
两年后,我记得自动回答我并将其标记为已解决,所以,从我自己的编辑中复制粘贴:
已解决:
终于发现了问题。。。
a) 该项目声明了两个structs(struct-petecander和struct-structPetercander),编译器告诉我"struct-ststruct-Petercander"没有struct-petecander元素。当然,它没有,因为它是另一个名称极其相似的结构体。
b) 我收到了"函数_that_I_added_the_argument的参数太多"。用Java编程太多时间让我忘记了在C中你必须在a.h中声明函数
两条错误消息(隐藏在其他错误下面)给了我提示。很抱歉翻译不正确:/module.c::error:/headers的冲突类型。h::error以前的声明在这里
我想是时候哭到墙角了。