1

现在,当我尝试编译时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);   
4

1 回答 1

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
于 2012-04-28T22:19:48.493 回答