如何在Visual Studio中包含头文件

How to include a header file in Visual Studio?

本文关键字:包含头 文件 Studio Visual      更新时间:2023-10-16

我在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;
};

你能解释一下为什么这个程序不能编译吗?

答案取决于FileReader指的是什么。

假设它引用了您自己设计的类的头文件:

  1. 您应该将此头文件重命名为FileReader.h,因为根据惯例,不带扩展名的名称是为编译器库保留的
  2. 然后,您应该将头文件名括在双引号之间,而不是角括号之间,因为角括号将用于编译器库,或者可能用于项目中使用的第三方库(boost…)

因此,一旦FileReader被重命名为FileReader.h,include指令应该如下所示:

`#include "FileReader.h"`

更新

您遇到的其他错误是"链接器错误"。他们的意思是:

  • 编译源文件效果良好
  • 然而,FileReader.h中声明了一些方法,但找不到这些方法的编译代码

最可能的解释是这些方法的源代码没有包含在项目中。因此,您必须将此源代码添加到VS项目中。它可能是一个名为FileReader.cFileReader.cpp的文件。