已经修好了thx
我有5个文件: cdouble.c cdouble.h cmatrix.c cmatrix.h和main.c
在我的cdouble.c中我有:
#include "cdouble.h"
在我的cmatrix.c中我有:
#include "cmatrix.h"
(在我的cmatrix.h文件中,我得到了:#include "cdouble.h"
在我的主文件中,我有:
#include "cmatrix.h"
我需要在我大学的unix(?)服务器上编译它。 我试过了:
gcc -c cmatrix.c
gcc cmatrix.o main.c
但我得到了很多"未定义的参考错误"
$ gcc -c cmatrix.c
gcc cmatrix.o main.c: /tmp/ccZD6esL.o:在函数
ishermitian
中:
main.c :(。text + 0x7b):对cConj
的未定义引用
main.c :(。text + 0x8b):对getCDoubleImag
的未定义引用
main.c :(。text + 0xa0):对getCDoubleReal
的未定义引用
main.c :(。text + 0xde):对getCDoubleImag
的未定义引用
main.c :(。text + 0xef):对getCDoubleImag
的未定义引用
main.c :(。text + 0x111):对getCDoubleReal
的未定义引用
main.c :(。text + 0x122):对getCDoubleReal
的未定义引用
/tmp/ccZD6esL.o:在函数scancdouble
中:
main.c :(。text + 0x203):对newCDouble
的未定义引用
/tmp/ccZD6esL.o:在函数main
中:
main.c :(。text + 0x2d8):对getCDoubleImag
的未定义引用
main.c :(。text + 0x2fc):对getCDoubleReal
的未定义引用
collect2:错误:ld返回1退出状态
答案 0 :(得分:0)
您需要编译cdouble.c并链接其.o文件。 E.g:
gcc -c cmatrix.c
gcc -c cdouble.c
gcc main.c cmatrix.o cdouble.o
或更简单地说:
gcc main.c cmatrix.c cdouble.c