我在下面编写的简单 C++ 代码出现编译错误
“未定义对 'featureExtract()' 的引用” (在 windows 下使用代码块),
在FeaureExtract.h
#ifndef FEATUREEXTRACT_H_INCLUDED
#define FEATUREEXTRACT_H_INCLUDED
extern void featureExtract();
#endif // FEATUREEXTRACT_H_INCLUDED
在FeatureExtract.cpp
#include "FeatureExtract.h"
void featureExtract()
{
some code
}
在main.cpp
#include "FeatureExtract.h"
int main()
{
featureExtract();
}
我已经使用关键字“C++ undefined reference to”搜索了 SO 并阅读了数十个条目(许多是类或 Linux 下的),但我无法解决我自己的问题(我不知道为什么)。
感谢您的任何提示~
在解决这个问题之前,我只好把所有的工作人员都放在FeatureExtract.h中,它可以工作,但似乎不太好。这篇文章(Why have header files and .cpp files in C++?)解释了.h文件的主要优点是“将接口与实现分离”,我想知道将所有接口和实现放在.h文件中是否会有其他效果?
谢谢~