2017-01-13 2 views
0

Ich aktualisiere ein sehr altes Spiel mit cocos2dx v2.2.6 und SDKBOX 1.0.16 (die heute herauskam). Ich habe alle Schritte verfolgt, aber ich habe einen Deadlock erreicht, als ich mein iOS-Ziel aktualisiert habe.Nicht definierte Symbole für Architektur arm64 [SDKBOX und cocos2dx v2.2.6]

ich diesen Fehler:

Undefined symbols for architecture arm64: "sdkbox::PluginChartboost::show(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: GameLayer::pauseGame(cocos2d::CCObject*) in GameLayerScene.o "sdkbox::PluginAdMob::isAvailable(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: GameLayer::pauseGame(cocos2d::CCObject*) in GameLayerScene.o "sdkbox::PluginAdMob::show(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: GameLayer::pauseGame(cocos2d::CCObject*) in GameLayerScene.o "sdkbox::PluginChartboost::isAvailable(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: GameLayer::pauseGame(cocos2d::CCObject*) in GameLayerScene.o "sdkbox::PluginAdMob::cache(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: GameLayer::pauseGame(cocos2d::CCObject*) in GameLayerScene.o AppDelegate::applicationDidFinishLaunching() in AppDelegate.o ld: symbol(s) not found for architecture arm64 Klirren: Fehler: Linker Befehl mit Exit-Code 1 ist fehlgeschlagen (verwenden -v zu sehen Aufruf) Wie Sie sehen können, ist es keine Methode, um Anzeigen im Zusammenhang identifizieren kann, aber die Init-Funktion für jedes Plugin funktioniert einwandfrei und verursacht keinen Fehler.

Wer bemerkt ein solches Problem oder weiß, was kann das verursachen? Ich habe die Frameworks in Link binary mit Framework überprüft.

Vielen Dank.

Antwort

0

Sie müssen das Buildziel korrigieren, damit es tatsächlich mit der C++ - Bibliothek verknüpft wird. Eine Sache zu überprüfen ist sicherzustellen, dass Sie tatsächlich eine .cpp oder .mm-Datei in Ihrem Projekt haben, so dass Xcode die C++ - Laufzeit automatisch verknüpft (eine leere Datei mit der richtigen Erweiterung wird es tun).

+0

Ich habe mehrere .cpp-Dateien in meinem Projekt, d. H. Klassen für mein cocos2dx-Spielprojekt sowie die cocos2dx-Spielengine-Klassen. –

+0

Nun, Sie müssen die Verbindungslinie während des Aufbaus überprüfen, um sicherzustellen, dass die C++ - Bibliothek enthalten ist. Ihr Projekt kann nicht verlinkt werden, weil es nicht alle C++ - Symbole für einige Sitzungen verwenden kann. – MoDJ

Verwandte Themen