我在VS2012中遇到问题,我想在其中包含一个头文件:
#include <FileReader>
问题是我想读取一个文件并将其存储到矩阵中。但是,include指令失败,因此我无法读取它:
#include <mpi.h>
#include <iostream>
#include <FileReader>
int main(int argc, char* argv[])
{
int rows, cols;
float a[10];
//std::vector<float> vec;
FileReader fr("./SampleData.txt");
fr.getSize(rows, cols);
fr.getVector(a);
for (int i = 0; i < cols; i++)
fr.getNextRow(a);
int i;
std::cin >> i;
return 0;
};
你能解释为什么这个程序不能编译吗?
答案 0 :(得分:0)
答案取决于FileReader
所指的内容。
假设它引用了您自己设计的类的头文件:
FileReader.h
,因为没有扩展名的名称按照惯例保留给编译器库; boost
.. 。)因此,将FileReader
重命名为FileReader.h
后,include指令应如下所示:
`#include "FileReader.h"`
<强>更新强>
您遇到的其他错误是*链接器错误&#39;。他们的意思是:
FileReader.h
中声明了一些方法,但是找不到这些方法的编译代码。最可能的解释是这些方法的源代码未包含在项目中。因此,您必须将此源代码添加到VS项目中。它可能是名为FileReader.c
或FileReader.cpp
的文件。