C ++ #include相对路径

时间:2013-05-02 14:19:55

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

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

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文件吗?

3 个答案:

答案 0 :(得分:1)

  

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

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

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

  

我可以包含.cpp文件吗?

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

  

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

没有。你可以,但不需要。如果需要标题中定义的内容的完整定义,有时需要包含标题。至于cpp文件,请参阅上一个答案。

答案 1 :(得分:0)

  

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

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

  

我可以包含.cpp文件吗?

可以,是的。应该?否。

  

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

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

答案 2 :(得分:0)

  

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

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

Can I include .cpp file ?

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

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

见上面的答案。 .h文件只是唯一合理的方式