长话短说,我想将.h和.cpp文件放在子文件夹(分别包括include和src)中,并在main.cpp文件中引用它们,但是出现以下错误:main.cpp:(.text+0x47): undefined reference to `Kmer::Kmer()'.
使用时进行编译:g++ -I /path/to/MyFolder/include main.cpp
。
我的文件结构如下:
//main.cpp
#include <iostream>
#include "Kmer.h"
using namespace std;
int main() {
Kmer k;
return 0;
};
//Kmer.h
#pragma once
class Kmer{
public:
Kmer();
protected:
private:
};
//Kmer.cpp
#include "Kmer.h"
#include <iostream>
using namespace std;
Kmer::Kmer(){
// code here
cout << "Kmer created" << endl;
}
感谢您的帮助! 最佳答案
您没有在编译Khmer.cpp。您需要将其添加到您的g++编译行中
g++ -o <YOUR APPLICATION NAME> -I /path/to/MyFolder/include main.cpp src/Khmer.cpp
关于c++ - 在子文件夹中编译.h和.cpp时的C++ undefined reference ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/65327284/