У меня есть следующая простая программа, которую я пытаюсь скомпилировать в linux ubuntu.В программировании на С, что такое `undefined reference`error, при компиляции?
Main.c
:
#include <stdio.h>
#include "Person.h"
int main()
{
struct Person1 p1 = Person1_Constructor(10, 1000);
}
Person.c
:
#include <stdio.h>
#include "Person.h"
struct Person1 Person1_Constructor(const int age, const int salary)
{
struct Person1 p;
p.age = age;
p.salary = salary;
return p;
};
Person.h
:
struct Person1
{
int age, salary;
};
struct Person1 Person1_Constructor(const int age, const int salary);
Зачем нужна следующая Ошибка?
/tmp/ccCGDJ1k.o: In function `main':
Main.c:(.text+0x2a): undefined reference to `Person1_Constructor'
collect2: error: ld returned 1 exit status
Я использую gcc Main.c -o Main
для компиляции.
@ Сатья, почему? У меня есть «Person.c» и «Person.h», что с этим не так? – dimitris93
gcc два файла .c вместе – user3528438