代码之家  ›  专栏  ›  技术社区  ›  Travis

MS Visual Studio项目头文件

  •  6
  • Travis  · 技术社区  · 14 年前

    我在MSVS开发C/C++代码是相当新的,但其中一个已经让我困惑的问题是,为什么在我的项目中添加了一组源和头文件,使它们分别出现在MSVS文件夹的源文件和“头文件”下,随后我必须告诉编译器我的头文件是否在Projt&g之下。属性-gt;c/c++& gt;在我看来,MSV应该已经尝试通过首先查看项目中包含的头文件集来解析任何“include”…“”语句。

    有人愿意评论这里使用的逻辑吗?

    谢谢, 特拉维斯

    6 回复  |  直到 14 年前
        1
  •  2
  •   Jay    14 年前

    实际上,在所谓的“header files”文件夹中添加头文件是可选的。即使不这样做,您也可以在“project->properties->……”中指定头路径,它仍然可以工作。

    你可能只是从你的项目的头文件的角度考虑,它可以添加到“头文件”文件夹中,对于一个有几个第三方库的大项目,你绝对不能去把每个头文件都添加到你的文件夹中。

    因此,为了在一个配置中保持所有包含的统一,应该选择这种方式。

    以上所引用的一切都是我的理解。我没有任何证据支持这一点。所以,我事先道歉是错的。请不要用低票轰炸我。:)

        2
  •  3
  •   Mark Ransom    14 年前

    项目文件被IDE用来跟踪文件,但是编译器不能访问这些信息。包含文件路径在编译时传递给每个源文件。

        3
  •  3
  •   Michael Burr    14 年前

    我认为这是因为在一个目录中有一个头并不一定意味着您希望在该目录中搜索任何其他头。可以通过指定头的路径来包含特定的头,也可以隐式地找到它,因为它与包含它的文件在同一个目录中。

    尽管如此(这只是猜测),我认为你想要的是一个合理的要求(这是一些以前让我有点沮丧的事情),至少是作为一个选择或者被要求。

        4
  •  2
  •   Benoît photo_tom    14 年前

    头文件的查找必须是确定性的。项目中可以有多个同名文件。在这种情况下,您希望编译器如何解决这种混淆?

    另一件事是,在目录中查找头文件是(几乎是?)的历史特性。所有编译器。

    这使您只能在Visual Studio项目中使用头文件:能够从Visual Studio轻松打开头文件。就是这样!

        5
  •  1
  •   Partial    14 年前

    首先,你创建了一个新的C/C++项目吗?如果是这样,它应该在您选择的位置创建一个目录。完成后,您可以右键单击项目(在MSV的解决方案窗口中),并向项目中添加新文件。例如,可以将源文件(.cpp)和头文件(.h)添加到项目中。完成后,必须在源文件中写入include“your file.h”,以便将头文件包含到源文件中。请注意,您可以添加新文件和现有文件。希望这有帮助!

        6
  •  0
  •   celine    14 年前

    我从来没有见过这个问题。一旦你创建了一个项目并在你的项目中添加了任何相同的项目文件夹头文件,你就可以通过include添加头文件并编译你的源代码。 如果所需的头文件不存在于创建项目的同一文件夹中,则应在项目属性中添加头目录,如您所说:)