我试图用C ++写一个神经网络,而在我试图写的一个头文件中,顶部有一个包含问题。当我双击Eclipse的文件大纲中的include时,它会将我带到write,因此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_ */
和#include&#34; ../ src / Neurons / Neuron.h&#34;给出错误
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中,并且工作正常。
答案 0 :(得分:1)
SILENCED_SYSTEM_CHECKS = ["models.W001"]
告诉编译器在相对于当前文件位置的目录层次结构中上升一级。因此$fp = fsockopen("127.0.0.1", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fwrite($fp, "You message");
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
已经在#include "../src/Neurons/Neuron.h"
内,并且无需添加../
。因此,您的包含应如下所示:
src