Я использую lab6. c в качестве программы вождения для проверки каждого. До того, как я разделил их на собственные файлы, функции работали. Я должен создать пользовательский файл библиотеки. Шаги, которые я предпринял, состояли в том, чтобы использовать wall для создания объектного файла для каждого. c файла в папке и связать их вместе, используя ar rcs. Затем я использовал art liblab6 (имя файла), чтобы убедиться, что каждый объект связан с ним. Постоянно получаю сообщение об ошибке "lab6. c :(. Text + 0x10): неопределенная ссылка на` str_len '".
Это первая функция, определенная в моем заголовочном файле
#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"));
}
Между справочными материалами из класса и тем, что я мог найти в Интернете, я определил это везде, я должен иметь. Я даже нашел копию этого задания из двух лет go на github, а заголовок, драйвер и файл c выглядят так же, как у меня. Мне удалось выполнить все шаги, но я продолжаю получать эту ошибку при компоновке. Единственное, что я не сделал, это попытался скомпилировать это на моей ma c. Я что-то упускаю? Любая помощь будет оценена.