如何以模块化方式组织源代码

时间:2009-05-15 01:32:34

标签: c++ project-organization

我目前正在开发一个范围变得非常大的项目,但是对于C ++来说相对较新并且来自Java背景我不确定最好的方法。

我希望有一个类似于:

的目录结构
+ Root
- main.cpp
    + Engine
        + Core
        - foo.cpp
        - foo.h
        + Utilities
        - bar.cpp
        - bar.h
        + Sound
        + Input
        + Collision Detection
        + Particle System

目前,我有一大堆.ccp / .h文件位于Engine目录中。当我将它们移动到适当的文件夹并尝试将它们绑在一起时,我只得到与未定义的类相关的编译错误页面。某种灵魂可以帮助新手指向正确的方向吗?!

2 个答案:

答案 0 :(得分:2)

您几乎肯定会遇到包含包含文件的问题。您需要在编译命令中添加-I标志,用于引入.h文件的目录。

您的一些目录名称中包含空格,因此请注意正确引用目录名称。或者,甚至更好,因为这通常是一个重大的痛苦,例如,“碰撞检测”变为“CollisionDetection”或“Collision_Detection”

答案 1 :(得分:0)

如果您使用makefile编译项目,我建议您切换到CMake,这将简化您构建您所针对的模块化结构的方式。 CMake关键字“include_directories”是您需要的。

相关问题