gpt4 book ai didi

compiler-errors - header 中已定义函数,但链接时出现 undefined reference 错误

转载 作者:行者123 更新时间:2023-12-02 10:56:41 25 4
gpt4 key购买 nike

我正在使用lab6.c作为驱动程序来测试每个。在将它们拆分成自己的文件之前,这些功能已经起作用。我应该创建一个自定义库文件。我所采取的步骤是使用wall为文件夹中的每个.c文件创建一个目标文件,并使用ar rcs将它们链接在一起。然后,我使用ar liblib6(文件名)来验证每个对象都已链接到该对象。不断收到链接错误“lab6.c :(。text + 0x10):对'str_len'的 undefined reference ”。

这是我的头文件中定义的第一个函数

#ifndef LAB_6_LIB_H
#define LAB_6_LIB_H

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int all_letters(char *s);

这是.c文件
#include "lab6lib.h"

int all_letters(char *s)
{
int i = 0;
while(s[i] != '\0'){
if(!isalpha(s[i]))
return 0;
i++;
}

return 1;
}

这是司机
#include "lab6lib.h"
#include <stdio.h>


int main(void)
{
int i = str_len("all");
printf("\n%d", str_len("all"));
printf("\n%d", str_len("hahahahahahahahahahahahah"));
printf("\n%d", all_letters("poop"));
printf("\n%d", all_letters("1haha"));
printf("\n%d", all_letters("SpongeBobby"));
}

在类里面的引用资料和可以在网上找到的资料之间,我已经定义了我应该拥有的所有内容。我什至在两年前的github上找到了该作业的副本,并且 header ,驱动程序和c文件都与我的相同。我已经能够完成所有步骤,但是在链接时仍然会收到此错误。我唯一没有做的就是尝试在Mac上编译它。有什么我想念的吗?任何帮助,将不胜感激。

最佳答案

因此,尽管我的引用说在库对象中不包含.a,但gcc -o lab6 lab6.c -Lcustomstrings liblab6.a仍在工作和编译。我现在可以开始测试了。

关于compiler-errors - header 中已定义函数,但链接时出现 undefined reference 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61433082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com