【发布时间】:2021-12-28 17:20:47
【问题描述】:
只是遇到了一个小问题,我还没有弄清楚。 我在另一个项目中使用了类似的程序结构,但问题归结为这一点。我有两个 cpp 文件,分别是:
Trading_dte.cpp:
#include <iostream>
using namespace std;
class Dte
{
public:
int addition(int a, int b)
{
return a + b;
}
};
dummy.cpp:
#include <iostream>
#include "Trading_dte.hpp"
Dte obj;
int check()
{
std::cout<<obj.addition(6,9);
}
我创建了一个名为 Trading_dte.hpp 的头文件:
# pragma once
#include <iostream>
class Dte
{
public:
int addition(int a, int b);
};
现在当我尝试使用以下命令进行编译时:
g++ Trading_dte.cpp dummy.cpp
我得到了错误:
/usr/bin/ld: /tmp/ccCcM8R6.o: in function `check':
dummy.cpp:(.text+0x1a): undefined reference to `Dte::addition(int, int)'
collect2: error: ld returned 1 exit status
我敢肯定这是小事,但我就是想不通。 提前非常感谢!
【问题讨论】: