【发布时间】:2017-03-12 22:49:55
【问题描述】:
最近,我尝试创建一个库并为此创建了两个文件:file-parser.c 和 array.c 以及它们对应的 .h 文件。因此,在文件解析器中,我使用数组中的一个函数,该函数调用一个长度,当我编译(不链接它)parser-file.c 命令时
gcc -c -o file-parser.o file-parser.c
gcc -c -o array.o array.c
ar r libutils.a array.o file-parser.o
不要告诉我错误。
问题是当我编译main.c文件时
gcc -o prova main.c -L. -lutils
gcc 返回:
array/libutils.a(file-parser.o): in function "AnalizeRow":
file-parser.c:(.text+0x109): undefined reference to "length"
array/libutils.a(file-parser.o): in the function "GetWord":
file-parser.c:(.text+0x16a): undefined reference to "length"
collect2: error: ld returned 1 exit status
我不是英国人,所以我认为错误消息是 ld 带给我的。 谁能解释我的错误在哪里? 谢谢。
【问题讨论】:
标签: c static-libraries ld static-linking