【问题标题】:C++ #include relative pathC++ #include 相对路径
【发布时间】:2013-04-26 18:30:55
【问题描述】:

是否有可能相对路径是正确的,但我仍然得到编译错误:

2>src\wfbuilderapp.cpp(15): fatal error C1083: Cannot open include file: '../project/include/public/core/paths.h': No such file or directory

特别是,是否可能发生错误不是因为路径错误,而是因为包含的文件“不允许”我在文件之间进行此绑定?我包含的文件和包含的文件位于同一解决方案中,位于不同项目的文件夹的子文件夹中。

这是我关于#include的问题:

  • 只要路径正确且包含的文件在同一个解决方案中,我可以包含任何文件吗?
  • 我可以包含 .cpp 文件吗?
  • 我有时需要同时包含 .cpp 和 .h 文件吗?

【问题讨论】:

  • 只要当前目录的路径(相对或绝对)正确,您就可以从任何地方包含任何文件。您包含的内容的正确性取决于您。 #include 几乎就像从编写代码的位置开始复制粘贴代码 #include (除了防止多次“复制粘贴”和其他一些编译指示支持。)

标签: c++ visual-studio-2010 include relative-path


【解决方案1】:

只要路径正确,我可以包含任何文件

是的。请注意,我剪断了解决方案部分。

我可以包含 .cpp 文件吗?

可以,可以。应该?没有。

我是否有时需要同时包含 .cpp 和 .h 文件

如果您“需要”这样做,则说明您使用了错误的工具来解决问题。 cpp 文件不应该是#include'ed。

【讨论】:

    【解决方案2】:

    只要路径正确且包含的文件在同一个解决方案中,我可以包含任何文件吗?

    如果路径正确,是的。它在同一个解决方案中对包含没有影响。编译器将在它被告知要查找的位置查找文件(将文件添加到解决方案不会修改这些位置)。

    正确的方法是在项目属性中添加Additional Include Directories 的路径。

    我可以包含 .cpp 文件吗?

    是的,但不应该,除非它用于批量构建。

    我有时需要同时包含 .cpp 和 .h 文件吗?

    没有。你可以,但没需要。如果需要标题中定义的内容的完整定义,您有时需要包含标题。至于cpp文件,请看之前的回答。

    【讨论】:

      【解决方案3】:

      我可以包含任何文件,只要路径正确并且包含的​​文件是 在同一个解决方案中?

      您可以包含任何您喜欢的文件,无论是否相同。编译器是否能理解它是一个不同的问题。

      Can I include .cpp file ?
      

      你可以,但你不应该。 cpp 文件应该“包含”在您的项目中,而不是其他文件中。

      Do i sometimes need to include both .cpp and .h files ?
      

      见上面的答案。 .h 文件是唯一明智的选择

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-15
        • 1970-01-01
        • 1970-01-01
        • 2011-06-15
        • 1970-01-01
        • 2018-12-19
        相关资源
        最近更新 更多