2016-11-03 3 views
0

Ich habe ein externes Paket namens SoPlex (ein Ordner von .cpp und .h Dateien und die Bibliotheksdateien) in mein OMNet ++ Projekt aufgenommen. Ich habe bereits das Paket in Code :: Blocks IDE getestet und es funktioniert gut neben einigen Warnungen, die es hatte: warning: explicit conversion operators only available with -std=c++11 or -std=gnu++11.Warum erhält der OMNet ++ Compiler Fehler für ein vorkompiliertes Paket?

Es funktionierte sicherlich in Code :: Blocks IDE. Aber wenn ich es in meinem OMNeT ++ Projekt verwenden möge gibt es eine Menge von Fehlern für das SoPlex Paket wie im Bild: Error messages

Es hat eine Menge von Fehlern gibt nur für den Code von SoPlex und nicht meinem OMNeT ++ Projektcode .

Irgendeine Idee, was das Problem verursachen könnte?

Ich habe MinGW verwendet, um SoPlex-Paket in Code :: Blocks IDE zu kompilieren. Wenn ich in OMNet ++ anstelle von GCC for OMNet++ als current toolchain verwende, gibt es diesen Fehler fatal error: omnetpp.h: No such file or directory.

+0

Konnten Sie einen Beispielcode zur Verfügung stellen, der diese Fehler sowie ein Fehlerprotokoll von der Konsole verursacht? Wahrscheinlich ist eine Header-Datei Ihrer Bibliothek nicht korrekt enthalten. –

Antwort

1

In Bezug auf die Fehler mit der 3rd-Party-Bibliothek. Je nachdem, wo Sie die Bibliothek in den Ordner "src" stellen, muss mindestens das Verzeichnis als Include-Verzeichnis hinzugefügt werden, da andernfalls die Headerdateien vom Compiler nicht gefunden werden.

Zum Problem mit der omnetpp.h: OMNeT ++ hat seinen eigenen Makefile-Generator, der automatisch den erforderlichen Include-Ordner (omnetpp_root/include) hinzufügt. Die generische MinGW GCC-Toolchain tut dies nicht. Wenn Sie zusätzliche Arbeit vermeiden möchten, verwenden Sie immer die Omnet-Toolchain, um Ihre Modelle zu erstellen.

Verwandte Themen