我在Netbeans中有一个C++项目。通过右键单击项目-> Properties -> General,我添加了一个源文件夹路径(所有配置)
让我们说,这条路是:
/a/b/c
在文件夹c中,我有一个名为File.h的头文件
在我的C++中,我说:
#include <File.h>但是它给出了编译错误:
rm -f "build/Debug/GNU-Linux/main.o.d"
g++ -c -g -std=c++11 -MMD -MP -MF "build/Debug/GNU-Linux/main.o.d" -o build/Debug/GNU-Linux/main.o main.cpp
main.cpp:16:21: fatal error: File.h: No such file or directory
#include <File.h>
^编译已终止。
但是,如果我这样做了:
#include <a/b/c/File.h>它确实编译了。
有人知道这里发生了什么吗?
发布于 2018-04-06 14:09:37
您必须在项目属性中设置Build/ C编译器和Build / C++编译器下的包含目录。它们将为编译器生成包含标志。源文件夹是Netbeans查找cpp文件的地方(我认为),但它不会将它们作为包含文件夹传递给编译器。

如果这些文件也需要静态库,则必须在Linker选项卡下添加lib文件夹。
https://stackoverflow.com/questions/49692350
复制相似问题