代码之家  ›  专栏  ›  技术社区  ›  Suman Maharjan

Cocos2d-x Size类型的引用不明确

  •  1
  • Suman Maharjan  · 技术社区  · 9 年前

    我想实施一些 目标c 打电话进来 c++项目 i、 e.我试着做和“ this question " ( 将一些特定文件编译为目标c++ )

    但接下来我会遇到这行代码的“引用模糊”错误:

    Size visibleSize = Director::getInstance()->getVisibleSize();
    

    说“ “尺寸”的提法含糊不清 "

    我当前的编译器设置:

    C Lang Dialect : GNU99[-std=gnu99]
    Compiler Sources As : According to File Type
    
    C++ Language Dialect : GNU++14[-std=gnu99]
    C++ Standard Library : libc++ (LLVM C++ standard library with c++11 support)
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   trojanfoe    9 年前

    问题是 Size 类型存在于Cocos2d-x和编译器看到的头文件中的其他地方。

    幸运的是,所有Cocos2d-x都是在自己的命名空间中定义的,因此您需要在有问题的文件中执行以下操作:

    1. 去除 USING_NS_CC 从实现文件的顶部开始。
    2. 添加 cocos2d:: 命名空间到实现文件中的任何Cocos2d-x类型和类引用,例如:

      cocos2d::Size visibleSize = cocos2d::Director::getInstance()->getVisibleSize();
      

    这会告诉编译器 大小 您所指的类型。

    Cocos2d-x还支持C++11,但据我所知不支持C++14,所以在构建设置中更改它。