Ошибка компоновщика, когда не начинается сцена "HelloWorld"
Я только начал использовать Cocos2d-x C++ (версия 3.4) и пытаюсь создать простую игру для Mac, но когда я изменяю эту строку в AppDelegate.cpp
auto scene = HelloWorld::createScene();
на мою обычную сцену
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).
Я не могу понять, что мне здесь не хватает, любая помощь приветствуется, спасибо.
Если вы хотите увидеть исходное посещение пользовательского класса:
1 ответ
Это, вероятно, может быть результатом одной из двух вещей.
Первый. Вы не определяете KeyboardScene::createScene()
символ на всех. Проверьте, что у вас действительно есть определение KeyboardScene:: createScene()
в тебе KeyboardScene.cpp
файл. Вы KeyboardScene.cpp
должен содержать такой код:
KeyboardScene::createScene() {
// function body here
}
Во-вторых. Вы не компилируете KeyboardScene.cpp
или не ссылаться на результат KeyboardScene.o
в исполняемый файл. Проверь это KeyboardScene.cpp
включен для создания набора цели приложения, как в примере здесь.