如何在Visual Studio中包含头文件?

时间:2015-11-01 10:34:31

标签: c++ visual-studio-2012 mpi

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

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

1 个答案:

答案 0 :(得分:0)

答案取决于FileReader所指的内容。

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

  1. 您应该将此头文件重命名为FileReader.h,因为没有扩展名的名称按照惯例保留给编译器库;
  2. 然后,您应该将头文件名括在双引号而不是尖括号中,因为尖括号将用于编译器库,或者可能用于项目中使用的第三方库(boost .. 。)
  3. 因此,将FileReader重命名为FileReader.h后,include指令应如下所示:

    `#include "FileReader.h"`
    

    <强>更新

    您遇到的其他错误是*链接器错误&#39;。他们的意思是:

    • 编译源文件可以正常工作;
    • 但是,在FileReader.h中声明了一些方法,但是找不到这些方法的编译代码。

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