C++ 头文件(基础)
C++ Header files (basics)
我试图使用头文件和源文件,但 运行 遇到了问题。因此,我对我正在尝试做的事情做了一个简化版本,但我在 CodeBlocks 中遇到了同样的错误(在 main.cpp
中对 add(double, double)
的未定义引用)。
在add.cpp
中:
double add (double x, double y)
{
return x+y;
}
在add.h
中:
#ifndef ADD_H_INCLUDED
#define ADD_H_INCLUDED
double add(double, double);
#endif
在main.cpp
中:
#include <iostream>
#include "add.h"
int main()
{
std::cout<<add(3,4)<<std::endl;
return 0;
}
我做错了什么?请注意,当我将 #include "add.cpp"
添加到 add.h
时,一切正常。但是根据我正在学习的教科书,不需要这个。
我必须手动将文件指定为构建目标,因为它们不是默认构建的。在 CodeBlocks 中,这是通过右键单击项目,转到属性 > 构建目标并检查调试和发布中的所有文件来完成的。
我试图使用头文件和源文件,但 运行 遇到了问题。因此,我对我正在尝试做的事情做了一个简化版本,但我在 CodeBlocks 中遇到了同样的错误(在 main.cpp
中对 add(double, double)
的未定义引用)。
在add.cpp
中:
double add (double x, double y)
{
return x+y;
}
在add.h
中:
#ifndef ADD_H_INCLUDED
#define ADD_H_INCLUDED
double add(double, double);
#endif
在main.cpp
中:
#include <iostream>
#include "add.h"
int main()
{
std::cout<<add(3,4)<<std::endl;
return 0;
}
我做错了什么?请注意,当我将 #include "add.cpp"
添加到 add.h
时,一切正常。但是根据我正在学习的教科书,不需要这个。
我必须手动将文件指定为构建目标,因为它们不是默认构建的。在 CodeBlocks 中,这是通过右键单击项目,转到属性 > 构建目标并检查调试和发布中的所有文件来完成的。