总的来说,我的c ++项目由两个目录组成,当然还有main.cpp
:Dataloader
包含dataloader.h和dataloader.cppAnalysis
包含analysis.h和analysis.cpp
在dataloader.h中,我包含了analysis.h,如下所示:
#include<../Analysis/analysis.h>
我的教授告诉我,这是很大的不!我们试图创建一个makefile,他感到惊讶。为什么这是一个坏习惯?以及如何使包含变得更简单。我正在使用
code::blocks
和gcc 4.8编译器。N.B.我注意到该代码:::阻止了一些宽恕如何包含错误。什么时候
我们试图使用gcc命令对其进行编译,结果很糟糕
最佳答案
我同意你的教授。用于
#include<../Analysis/analysis.h>
使代码变脆。如果使用不同的目录结构重新组织了代码库,则包含此类
#include
语句的文件将无法编译。关于:
N.B.我注意到该代码:::阻止了一些宽恕如何包含错误。当我们尝试使用gcc命令对其进行编译时,它变得很糟糕
将
-I.
添加到编译器标志可解决该问题。关于c++ - #include <../header.h>在C++中是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29288449/