2016-10-18 3 views
1

schnelle Frage ... das ist nur ein Missverständnis über die Vererbung mein Ende, so sollte dies schnell behoben werden (ich verwende objective-C++). Ich werde die Frage nehmen ab, wenn es ist bereits gelöst ... Ich konnte es nicht damit meinen Beitrag finden:Vererbung - Symbol undefined Objective-C++

Ich habe folgendes:

base.h Datei

#ifndef BASE_H 
#define BASE_H 

class Base { 
public: 
    // Virtual Constructor 
    Base() {}; 
} 
#endif 

Abgeleitet .h-Datei

// Derived.h 
#ifndef DERIVED_H 
#define DERIVED_H 

#include "Base.h" 

class Derived : public Base { 
public: 
    Derived(); 
} 
#endif 

derived.cpp Datei

// Derived.cpp 
#include "Derived.h" 

Derived::Derived() { 
    // Do construction here! 
} 

Wrapper.mm Datei

// Wrapper.mm 
#include "Derived.h" 

- (id)init { 
    if (self = [super init]) { 
     Base *b = new Derived();  // Cannot compile? 
    } 
} 

Ich bin für "Derived::Derived()" referenced from -[Wrapper init] in Wrapper.o; Symbol(s) not found for architecture arm64 einen undefinierten Fehler. Wie behebe ich das? Vielen Dank!

+1

Sie sind Die O-Datei, die beim Kompilieren von Derived.cpp generiert wurde, wird nicht verknüpft. Fügen Sie einfach Derived.o am Ende Ihrer Compiler-Argumente hinzu, wenn Sie Ihre Wrapper.mm-Datei kompilieren, um eine ausführbare Datei zu erstellen, und Sie sollten gut sein (obwohl ich noch nie von obj-C++ gehört hatte) – xaxxon

+0

@xaxxon OH MEIN GOTT Ich dachte, ich würde verrückt, weil es völlig in meinem Android-Build funktioniert und nicht in meinem iOS. Vielen Dank! Wenn Sie möchten, können Sie Ihren Kommentar als Antwort und ich werde es markieren! –

+0

getan. Happy du hast es behoben. – xaxxon

Antwort

2

Sie verknüpfen die O-Datei nicht, die beim Kompilieren von Derived.cpp generiert wird. Fügen Sie einfach Derived.o am Ende Ihrer Compiler-Argumente hinzu, wenn Sie Ihre Wrapper.mm-Datei kompilieren, um eine ausführbare Datei zu erstellen, und Sie sollten gut sein (obwohl ich noch nie von obj-C++ gehört hatte)

Verwandte Themen