【发布时间】:2015-07-11 23:18:01
【问题描述】:
我有下面这个简单的程序,我想在 linux ubuntu 中编译。
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进行编译。
【问题讨论】:
-
@Satya 呃,为什么?我有一个
Person.c和一个Person.h那有什么问题? -
gcc 两个 .c 文件一起
标签: c undefined-reference