我是c ++的新手。所以请帮我看一下片段

时间:2012-04-28 22:14:09

标签: c++ turbo-c++

现在当我尝试编译main.cpp时,我收到错误Undefined symbol add(int) in module main.cpp请帮助我!

//main.cpp
#include<iostream.h> 
#include "addition.h"

int main()
{
add(4);
return (0);
}
//add.cpp
 #include "addition.h"
 #include<iostream.h>
 void add(int a)
{
cout<<a<<endl;
}
//addition.h
void add(int a);   

1 个答案:

答案 0 :(得分:6)

问题是main()使用add()。 add是在另一个编译单元(add.cpp)中定义的,这就是你收到错误消息Undefined symbol add(int)的原因。

您需要告诉编译器将两段代码和link组合在一起编译:

简单方法:

g++ main.cpp add.cpp

漫长的道路:

# 1 Make the main object file
g++ -c main.cpp
# 2 Make the add object file
g++ -c add.cpp

# Link the object files into an executable.
g++ main.o add.o