现在当我尝试编译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);
答案 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