当我尝试使用g++ main.cpp
编译三个c ++文件时收到以下错误。如果我将它们组合在一个文件中,它就可以了。
main.cpp:(.text+0x10): undefined reference to `Time::Time()'
Time.cpp
#include <iostream>
#include "Time.h"
using namespace std;
Time::Time()
{
a=5;
}
time.h中
#ifndef TIME_H
#define TIME_H
class Time {
public:
Time();
private:
int a;
};
#endif
的main.cpp
#include <iostream>
#include "Time.h"
using namespace std;
int main()
{
Time t;
}
答案 0 :(得分:3)
您需要编译所有cpp文件,因为每个文件都是一个单独的编译单元
g++ main.cpp Time.cpp -o main