Ho questo seguente semplice programma Sto cercando di compilare in linux ubuntu.Nella programmazione in C, che cosa è `riferimento non definito, durante la compilazione?
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);
Perché ottengo il seguente errore ?
/tmp/ccCGDJ1k.o: In function `main':
Main.c:(.text+0x2a): undefined reference to `Person1_Constructor'
collect2: error: ld returned 1 exit status
Sto utilizzando gcc Main.c -o Main
per compilare.
@Satya uh, perché? Ho un 'Person.c' e un' Person.h' che cosa non va? – dimitris93
gcc due file .c insieme – user3528438