什么原因导致错误“未定义引用(某些功能)”?
发布时间:2020-12-16 06:01:14 所属栏目:百科 来源:网络整理
导读:这个问题在这里已经有一个答案: What is an undefined reference/unresolved external symbol error and how do I fix it?27 我得到错误: main.o(.text+0x1ed): In function `main':: undefined reference to `avergecolumns'collect2: ld returned 1 exit
这个问题在这里已经有一个答案:>
What is an undefined reference/unresolved external symbol error and how do I fix it?27
我得到错误: main.o(.text+0x1ed): In function `main': : undefined reference to `avergecolumns' collect2: ld returned 1 exit status 当我gcc * .o.我不太确定是什么原因导致这个错误.其他海报已解释为功能未找到或功能为空.如果有人可以澄清或改进,那将是非常感谢! 这是我的函数代码(我正在计算2D数组中的列的平均值): #include "my.h" void averagecolumns (int x,int y,int** a) { int i; int j; float sum; float colAvg; sum = 0; colAvg = 0; printf("i. The column averages are: n"); for(i = 0; i < x; i++) { for(j = 0; j < y; j++) { sum += a[i][j]; colAvg = sum / (float)x; } printf("Column: %3d,Average: %6.2f",j,colAvg); sum = 0; colAvg = 0; } 主要的主要部分有: #include "my.h" int main (int argc,char* argv[]) { int** a; float** colAvg; int ROWS; int COLS; int i; int j; int** table; FILE* fpmyfile; int closeResult; .... printme (ROWS,COLS,a); // call functions a - j oddvalues (ROWS,a); oddlocations (ROWS,a); countoddrows (ROWS,a); addrows (ROWS,a); findfirstsmall (ROWS,a); findlastlarge (ROWS,a); addcolumns (ROWS,a); avergecolumns (ROWS,a); .... } 此外,这是一个链接器或编译错误(我不知道要添加哪个标签). 解决方法
这是一个链接器错误. ld是链接器,所以如果你收到一个以“ld”返回1退出状态“结尾的错误消息,那就告诉你这是一个链接器错误.
错误消息告诉您,您链接的任何对象文件都不包含avergecolumns的定义.原因是您定义的函数称为平均列(换句话说:您在调用函数时拼写了函数名称(并且大概在头文件中),否则您将在编译时遇到不同的错误时间)). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读