【问题标题】:Cocos2d-X Adding subfolders to Classes folder throws errorsCocos2d-X 添加子文件夹到 Classes 文件夹会抛出错误
【发布时间】:2013-06-06 15:14:16
【问题描述】:

我正在开发一个 Cocos2D-X 项目。我正在尝试将我的代码文件组织到 Classes 文件夹内的子文件夹中。正在为 iOS 和 Android 共享 Classes 文件夹。如果我只是将代码文件留在 Classes 文件夹中,一切正常,但如果我将它们放入子文件夹中,我会得到所有类型的错误。我已经在我的项目属性中链接了子文件夹,甚至在 Android.mk 文件中添加了子文件夹,但没有运气。

我一直在谷歌搜索/阅读文章,到处都在说你必须将所有类保存在根“类文件夹”中。对于可能不是问题的小型项目,但随着项目变得越来越大,它将成为一场噩梦,必须始终运行一个包含所有代码文件的文件夹。

请问有没有办法将 .h/.cpp 文件组织到 Cocos2D-X 项目的子文件夹中。

【问题讨论】:

  • 你应该用你的目录结构的例子来发布你的错误。想到的一件事是 XCode 对路径非常宽松,但在其他环境中却没有那么多,所以如果你包含来自其他目录的文件,你可能需要 #include "../othersubdir/header.h" 或 #include “子目录/header.h”。

标签: c++ cocos2d-x file-organization


【解决方案1】:

如果您添加子文件夹,您还应该将它们添加到 #include 指令中。

例如,如果你的目录是这样的:

+ Classes/
| + HomeScreen/
| | - HomeScreen.cpp
| | - HomeScreen.h
| + GameScreen/
| | - GameScreen.cpp
| | - HomeScreen.h

您的#includes 应如下所示:

#include "HomeScreen/HomeScreen.h"
#include "GameScreen/GameScreen.h"

当然,在不知道实际错误的情况下,我们无法提供明确的解决方案。这只是我见过的最常见的错误之一。

【讨论】:

    【解决方案2】:

    XCode 可以自动添加此类子文件夹以包含搜索路径。但是对于android,你应该手动更新Android.mk(好的,我们已经通过自动解析*.xcodeproj并生成Android.mk来完成了,但是这个解决方案有点复杂)。

     LOCAL_C_INCLUDES :=  \
     $(LOCAL_PATH)/../ \
     $(LOCAL_PATH)/../GameScreen \
     $(LOCAL_PATH)/../HomeScreen
    

    【讨论】:

      【解决方案3】:

      右键单击 x-code 中的 classes 文件夹并添加一个新组,然后将要组织的标题/代码拖入其中,而不是在 xcode 之外创建子文件夹并将它们拖放到 classes 文件夹中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-15
        • 2021-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多