C++包含有趣的代码Eclipse
问题描述:
我想在C++中编写一个神经网络,并且在我试图编写的一个头文件中,有一个包含顶部的问题。当我双击Eclipse的纲要中的包含文件时,它会将我带到写入文件中,所以Eclipse知道它在那里,但编译器不断抱怨它不在。目录看起来是这样的(我切出无关的问题的所有文件):C++包含有趣的代码Eclipse
src
->Layers
-->Layer.h
->Neurons
-->Neuron.h
->main.cpp
的Layers.h文件代码如下:
#ifndef LAYERS_LAYER_H_
#define LAYERS_LAYER_H_
#include <vector>
#include "../src/Neurons/Neuron.h"
class Layer{
public:
std::vector<Neuron> layer;
Layer(Neuron a, int n){
layer = std::vector<Neuron>(n);
for(int i = 0;i<n;i++){
layer[i] = a;
}
}
virtual std::vector<double> fire(std::vector<double>);
virtual std::vector<double> fire();
virtual std::vector<double> derivative(std::vector<double>);
virtual std::vector<double> derivative();
virtual ~Layer(){}
};
#endif /* LAYERS_LAYER_H_ */
,并与#线包括“../src/Neurons/Neuron.h”给出了错误
In file included from ..\src\Layers\Layer.cpp:7:0:
..\src\Layers\Layer.h:11:10: fatal error: ../src/Neurons/Neuron.h: No such file or directory
#include "../src/Neurons/Neuron.h"
^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
我已经能够以包括的main.cpp文件,它工作正常。
答
#include "../src/Neurons/Neuron.h"
告诉编译器在相对于当前文件位置的目录层次结构中上升一级。因此../
将已经在src
之内,并且不需要添加/src
。所以你的包括应该看起来像:
#include "../Neurons/Neuron.h"
+0
这工作,我没有意识到“../”移动了一个目录。我认为这是根目录或类似的东西。谢谢。我会尽快接受你的回答。 – BadProgrammer99
应该是'../../ src/Neurons/Neurons.h'或'../ Neurons/Neuron.h'吗?看起来你是通过一个目录 –