我正在尝试学习如何更好地组织项目及其C ++文件。
我的简单测试项目似乎仅在main.cpp(和main.exe)位于根项目文件夹中时才起作用。这是我想尝试设置的方法。
在main.cpp里面,我有#include "headers/header.h"
[当我尝试使用此设置进行编译时,出现此错误fatal error: headers/header.h: No such file or directory
[我想知道为什么以下设置(在子文件夹中没有main.cpp的情况下)编译并运行得很好(不更改任何代码),为什么这不起作用?
我正在将Visual Studio Code与C / C ++和C / C ++编译运行扩展一起使用(如果相关)。>>
编辑:
将其更改为"../headers/header.h"
确实可以,但是我想知道如何不使用../
来做到这一点。
如果我理解正确,我只需要在c_cpp_properties.json中的includePath中添加一些内容。这是"includePath"
部分现在的样子。
"includePath": [ "${workspaceFolder}/**" ],
所以我想我只需要把它做成类似
"includePath": [ "${workspaceFolder}/**", "..." ],
我应该在
...
部分中放什么?
我正在尝试学习如何更好地组织项目及其C ++文件。仅当main.cpp(和main.exe)位于根项目文件夹中时,我的简单测试项目才似乎起作用。这就是我的方式...
编译特定文件时,编译器将查看此文件的路径。因此,在您的第一个示例中,它是.../Project/main/main.cpp
,但是在您的第二个示例中,它是../Project/main.cpp
。因此,现在显而易见,为什么查看headers/header.h
的路径在第二种情况下有效,但在第一种情况下无效。