2017-12-23 5 views
1

Ich bin neu in OMNe ++ und ich lerne OMNe ++ jetzt. Ich möchte eine Tictoc-Simulation nach dem Tutorial ausführen.Zunächst konnte ich kein Projekt erstellen, hieß es Fehler: CoreException. Einige Leute sagten mir, ich solle die Kodierung der Textdatei in UTF-8 ändern. Dann wurde das Problem gelöst. Aber als ich eine neue C++ - Quelldatei hinzufügte, trat ein anderes Problem auf: Es konnte nicht aufgelöst werden.OMNe ++ Fehler: Konnte nicht aufgelöst werden

#include <string.h> 
#include <omnetpp.h> 
class Txc1 : public cSimpleModule 
{ 
    protected: 

    virtual void initialize(); 
    virtual void handleMessage(cMessage *msg); 
}; 

Define_Module(Txc1); 

void Txc1::initialize() 
{ 
    // Am I Tic or Toc? 
    if (strcmp("tic", getName()) == 0) 
    { 

     cMessage *msg = new cMessage("tictocMsg"); 
     send(msg, "out"); 
    } 
} 

void Txc1::handleMessage(cMessage *msg) 
{ 

    send(msg, "out"); 
} 

cSimpleModule, Define_Module, cMessage ... all diese Dinge konnten nicht gelöst werden.

Aber unglaublich, ich könnte das Projekt erstellen.Und wenn ich auf die Menü Ausführen-> Ausführen als OMNe ++ Simulation klickte, lief es normal.So ist es wahr, dass change die Textdateicodierung dieses Problem verursacht? Wie kann ich es lösen ?

+0

Konnten Sie den genauen Fehler bekannt geben, wie er erscheint? Methoden, die normalerweise nicht aufgelöst werden, bedeuten, dass die entsprechenden Header-Dateien nicht gefunden werden können. Dies könnte ein Problem mit der OMNeT ++ - IDE oder mit Ihrem Code sein (d. H. Ohne die richtigen Header). –

Antwort

1

Sie benötigen

using namespace omnetpp; 

, nachdem die Header enthalten sind, hinzufügen, wenn Sie möchten, die Klassen in es zu benutzen (cSimpleModule, cMessage) ohne die omnetpp:: Präfix.

Das Erstellen eigener einfacher Module erfordert einige Kenntnisse in C++. Natürlich können Sie lernen, indem Sie tun, aber dieser Fehler war nicht spezifisch für OMNeT ++, das ist ein allgemeiner C++ Programmierfehler.

Verwandte Themen