Cocos2D-X链接器错误;我错过了什么
Cocos2D-X Linker Error; what am I missing?
我正在学习XCode 5上iOS版的Cocos2D-X教程,讲师首先创建了一堆类和头文件。其中有一个名为"Utils.h"的头文件,其中包含一些静态函数
class Utils
{
public:
static Game* gameLayer();
static HUD* hudLayer();
static cocos2d::CCLayer* layerWithTag(int tag);
static cocos2d::CCSize s();
static cocos2d::CCAnimate* getAnimationWithFrames(int from, int to);
static void scaleSprite(cocos2d::CCSprite * sprite);
static float getScale();
static void setScale(float s);
static float getArtScaleFactor();
static void setArtScaleFactor(int s);
};
在Utils.cpp中将s()
函数定义为仅return CCDirector::sharedDirector()->getWinSize();
现在,问题是:当在我的主菜单场景(例如Utils::s().width
)中调用s()
函数时,我会得到以下错误:"Linker命令失败,退出代码为1(使用-v查看调用)"answers"找不到体系结构i386的符号"。然而,当我从Utils.cpp中删除s()
函数定义,并在头文件中的类中添加该函数,使其成为时
//Utils.h
class Utils
{
public:
.......
static cocos2d::CCSize s()
{
return CCDirector::sharedDirector()->getWinSize();
}
......
它编译时没有出现错误。。。
当函数在cpp文件中而不是头文件中时,为什么会出现此错误?我知道我的问题已经解决了,但它只是让我发疯
谢谢!:)
编辑:我认为这是一个既定的,但更清楚地说,在主菜单场景中,我包括了Utils.h,而不是Utils.cpp
请注意,当您在一个文件(比如Cpp)中而不是在.h文件中声明函数时,也会出现这样的错误。我看到的最常见的原因是在.h文件中声明了一个函数,但忘记了给出实现。
相关文章:
- 我的C++合并排序代码不起作用。我在这里错过了什么?
- 我是否为邪恶刽子手的构造函数错过了什么?
- C++:将向量传递给函数,然后在main中调用函数.错过了什么
- 随机访问迭代器:我错过了什么?
- 在这个while循环中我错过了什么?
- 我是否错过了什么,或者虚拟呼叫的性能并不像人们所说的那样糟糕
- 我在变量上收到 3 个 C4703 错误,我认为我已经正确初始化了,但我不确定我错过了什么
- 如果这不是 boost::lockfree::d etail::freelist 中的错误,我在这里错过了什么
- 尝试使用类,但未打印任何内容.不会生成任何错误.我错过了什么吗?
- 尝试实现通过引用传递的向量以与二叉树一起使用,我错过了什么
- 此代码的输出是什么?我在这里错过了什么吗?
- 下面显示的代码片段在 Coliru 和 Ideone 中编译,但根据 iso § 8.5 p6,它不应该,还是我错过了什么?
- AFAIK,下面的代码不应该编译,但它可以在 clang 和 GCC 中编译。我在这里错过了什么?
- 仅在标头中定义时内联的函数.我错过了什么吗?
- 我错过了什么吗?我一直在输出"No file found!"
- 安全布尔成语 - 我是否找到了更简单的方法,还是我错过了什么
- 我错过了什么
- 无法完成Rice(Ruby)的简单示例.我错过了什么
- 为什么包括警卫对我没有影响?我是不是错过了什么
- 据我所知,下面的函数不是constexpr,而是用clang和g++编译的代码.我错过了什么