2014-11-21 73 views
0

我正在学习C++,我正在使用+ -5类的项目 我使用继承和内部类。 我为每个类制作了一个单独的cpp和hpp文件(也适用于内部类) 现在我想让makefile编译起来更容易。 我读了很多关于makefile的教程,但没有好的教程来处理主题继承和内部类。Makefiles - 继承的类和内部类

我会打一个比方:

class A 
class B //is a inner class ob A 
class C //inherits from B 
class D //inherits from C 
class test // containing a main with tests for all the classes 

如何将我让这个在makefile? (每个类都有一个HPP和CPP!)

你不需要写一个makefile对我来说,如果你有一个链接到一个非常好的教程,我也很高兴:)


其他问题: 我读过在单独的hpp + cpp中定义一个内部类是不好的。真的吗 ?有什么风险?

谢谢你的答案:)

+0

你在说计算依赖关系吗? – 2014-11-21 19:50:38

+0

关于makefile:我的意思是如果我让Ao(编译A类)我必须包括cpp或.o,或者既不编译C类(因为C继承A) – 2014-11-21 19:56:45

+0

关于与问题内部类:当我定义“母类”之外的内部类时,我会谈论限制或错误, – 2014-11-21 19:58:57

回答

2

对于makefile文件,你不必担心语言,你不必担心文件之间的依赖关系。而后者可以由任何体面的编译器为任何体面的语言生成(抱歉,fortran人...)。用gcc,必要的参数是-M -MF dependencyFileName.d。这会生成一个包含Makefile-syntax中的规则的文件,该文件可以包含在Makefile中以通知make所有的依赖关系。

编译器生成的规则通常不足,例如,它不包含依赖文件作为目标。你可以在这里找到关于处理这个问题的不同方法的全面描述:http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/

一般来说,我会建议不要将某些依赖关系硬编码到Makefile中:代码更改以及依赖关系。而一个不完整的重建不一定会产生编译器/链接器错误,有时你刚刚得到真的很奇怪你的程序的行为。东西倒线:

  • 不知何故错误的函数被调用

  • 莫名其妙的论点得到一个函数调用

  • 我知道,这个函数必须返回零,为什么在skrewed了我从这个电话中得到一个?!?

更好地花时间让你自动依存产生你已经花了一周的时间价值猎这种幻影右之前。