我只是学习构造函数和析构函数我正在按照这个人正在做的教程bucky tutorial。我觉得视频已经过时了?因为我按照他说的每一步,我仍然会收到错误。
的main.cpp
#include <iostream>
#include "TESTING.h"
using namespace std;
int main(){
TESTING so;
cout << "TEST" << endl;
}
TESTING.h
#ifndef TESTING_H
#define TESTING_H
class TESTING
{
public:
TESTING();
protected:
private:
};
#endif // TESTING_H
TESTING.cpp
#include "TESTING.h"
#include <iostream>
using namespace std;
TESTING::TESTING()
{
cout << "TESTTTTT!!" << endl;
}
错误消息
\ main.o:main.cpp未定义对'TESTING :: TESTING()'的引用
构建日志
mingw32-g++.exe -c D:\C++\TESTING!\main.cpp -o D:\C++\TESTING!\main.o mingw32-g++.exe -o D:\C++\TESTING!\main.exe D:\C++\TESTING!\main.o D:\C++\TESTING!\main.o:main.cpp:(.text+0x52): undefined reference to `TESTING::TESTING()' collect2.exe: error: ld returned 1 exit status Process terminated with status 1 (0 minute(s), 1 second(s)) 1 error(s), 0 warning(s) (0 minute(s), 1 second(s))
答案 0 :(得分:1)
您只构建并链接 fi = di.GetFiles("*.jpeg").Where(file => file.CreationTimeUtc < DateTime.UtcNow.AddDays(-30)).ToArray();
源文件,而不是main
源文件。您还需要编译TESTING
,然后与TESTING.cpp
链接:
mingw32-g++.exe -c D:\C++\TESTING!\TESTING.cpp -o D:\C++\TESTING!\TESTING.o mingw32-g++.exe -o D:\C++\TESTING!\main.exe D:\C++\TESTING!\main.o D:\C++\TESTING!\TESTING.o
答案 1 :(得分:1)
您需要在构建中包含两个编译单元。
这意味着需要编译两个源文件,以及链接命令中指定的相应目标文件。
目前,只有main.cpp被编译为一个对象,只有main.o被链接。