不以“开始”开头时出现链接器错误;“HelloWorld”;场景 我刚刚开始使用COCOS2D-XC++(3.4版),我正在尝试为Mac构建一个简单的游戏,但是当我在AppDeaveT.CPP 中更改这行时 auto scene = HelloWorld::createScene();
到我的自定义场景不以“开始”开头时出现链接器错误;“HelloWorld”;场景 我刚刚开始使用COCOS2D-XC++(3.4版),我正在尝试为Mac构建一个简单的游戏,但是当我在AppDeaveT.CPP 中更改这行时 auto scene = HelloWorld::createScene();,c++,macos,linker,cocos2d-x,C++,Macos,Linker,Cocos2d X,到我的自定义场景 auto scene = KeyboardScene::createScene(); 我收到以下链接器错误: Undefined symbols for architecture x86_64: "KeyboardScene::createScene()", referenced from: AppDelegate::applicationDidFinishLaunching() in AppDelegate.o ld: symbol(s) not found
auto scene = KeyboardScene::createScene();
我收到以下链接器错误:
Undefined symbols for architecture x86_64:
"KeyboardScene::createScene()", referenced from:
AppDelegate::applicationDidFinishLaunching() in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation).
我不知道我缺少什么,非常感谢你的帮助,谢谢
如果要查看自定义类源代码,请访问:
这可能是两种情况之一的结果 首先。您根本不定义
KeyboardScene::createScene()
符号。检查您是否在KeyboardScene.cpp
文件中实际具有KeyboardScene::createScene()
的定义。您KeyboardScene.cpp
应该包含如下代码:
KeyboardScene::createScene() {
// function body here
}
第二。您不编译
KeyboardScene.cpp
,也不将生成的KeyboardScene.o
链接到可执行文件中。检查是否包含KeyboardScene.cpp
,以构建应用程序目标集,如这里的示例所示 是否在AppDelegate中包含KeyboardScene.h
?粘贴库中有重复的代码,这可能是相关的。在代码编译时,不是#include
问题,但不链接。确保您链接到了适用于x86_64(而非IOS arm)的正确.dynlib
。谢谢,默认情况下,Xcode仅将其包含在IOS目标中。静态文件夹(蓝色图标)如何?