【问题标题】:How to add a header file in Visual Studio 2013, C++如何在 Visual Studio 2013、C++ 中添加头文件
【发布时间】:2015-07-15 07:46:06
【问题描述】:

我使用 Visual Studio 2013 构建程序。我有一些问题... a) 一个错误:

c:\users\wojciech\desktop\cryingdamson 0.3.6 (8.60) v8.2 source\otpch.h(28): fatal error C1083: Cannot open include file: 'libxml/xmlmemory.h': No such file or directory

我的代码:

#include <libxml/xmlmemory.h>

我已将该文件包含在 Visual Studio 2013 中的头文件中,甚至在 libxml 文件夹中。由于该错误,我仍然无法构建解决方案(编译)。

请帮助我,我是 Visual Studio 的新手。我曾尝试将 xmlmemory.h 文件添加到项目属性中,但似乎没有看到该文件。

好的,在文件夹“c:\users\wojciech\my documents/visual studio 2013/projects/consoleapplication3”中有一个名为MainProject.sln的文件,它的类型是microsoft visual solution。在同一个文件夹中,我添加了 libxml 文件夹,并在文件夹中放置了 xmlmemory.h。问题是我仍然无法编译程序。

我使用的是 Windows 7。

【问题讨论】:

    标签: c++ build compilation header


    【解决方案1】:

    您需要将 libxml 的父文件夹添加到包含路径。说如果文件夹结构看起来像

    • some_project
      • 包括
        • libxml
          • xmlmemory.h
    • ...

    您需要将包含目录添加到包含路径

    【讨论】:

    • 我只是将此blog.gockelhut.com/2009/11/… 添加到您的答案中。 op 听起来像是应该阅读几行关于库/包含的人
    • 好的,在文件夹“c:\users\wojciech\my documents/visual studio 2013/projects/consoleapplication3”中有一个名为MainProject.sln的文件,类型为microsoft visual solution。在同一个文件夹中,我添加了 libxml 文件夹,并在文件夹中放置了 xmlmemory.h。问题是我仍然无法编译程序。
    • 对于外部库,我建议将库的路径添加到包含路径(在项目设置中)
    【解决方案2】:

    您的xmlmemory.h 在哪里? #include &lt;.../libxml/xmlmemory.h&gt; 中的 ... 部分尝试完整路径。

    路径libxml/xmlmemory.h 实际上是./libxml/xmlmemory.h,其中./ 表示您的工作区的位置。

    ===============接下来根据你的评论添加========================= =

    只需使用#include "..\libxml\xmlmemory.h" 即可编译。因此,您的工作区路径为c:\users\wojciech\my documents/visual studio 2013/projects/consoleapplication3。在您的工作区下应该有一个文件夹 MainProject 您现有的源文件所在的位置。所以.\ 表示路径c:\users\wojciech\my documents\visual studio 2013\projects\consoleapplication3\MainProject

    请注意,您应该使用\ 而不是/ 来表示您的项目中的文件层次结构,并且您应该使用"xxx.h" 而不是&lt;xxx.h&gt;

    你也可以使用这个方法:打开VIEW-&gt;Property Manager,右击MainProject,打开Properties,在C/C++ -&gt; General -&gt; Additional Include Directories,添加你的文件夹libxml。然后libxml 文件夹下的所有文件都将成为您解决方案的一部分。您可以使用#include "xmlmemory.h&gt;" 使其编译。

    无论哪种方式都应该编译。

    【讨论】:

    • 好的,在文件夹“c:\users\wojciech\my documents/visual studio 2013/projects/consoleapplication3”中有一个名为MainProject.sln的文件,类型为microsoft visual solution。在同一个文件夹中,我添加了 libxml 文件夹,并在文件夹中放置了 xmlmemory.h。问题是我仍然无法编译程序。
    • @waqmaz93 我已经修改了我的答案。如果仍有问题,请添加您的评论。
    • 首先我要感谢您的回答。外国人可以为外国人做点什么真是太酷了,所以非常感谢! =) 我能为你做什么?但我还有一个问题。如何使用这个“”而不是“””使它工作。谢谢..最好的问候!
    • 只要使用google.com,伙计。对于您的问题,请查看#include Directive (C/C++)What is the difference between #include <filename> and #include “filename”?
    • @waqmaz93 如果这对您有帮助,请接受它作为您的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    相关资源
    最近更新 更多