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

Sta*_*ker 1 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);
}
Run Code Online (Sandbox Code Playgroud)
//add.cpp
 #include "addition.h"
 #include<iostream.h>
 void add(int a)
{
cout<<a<<endl;
}
Run Code Online (Sandbox Code Playgroud)
//addition.h
void add(int a);   
Run Code Online (Sandbox Code Playgroud)

Mar*_*ork 6

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

您需要告诉编译器将两段代码和link它们一起编译:

简单的方法:

g++ main.cpp add.cpp
Run Code Online (Sandbox Code Playgroud)

漫长的道路:

# 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
Run Code Online (Sandbox Code Playgroud)