Я пытаюсь создать сеть (случайный график) в omnet ++, где я хочу анализировать сетевые узлы с помощью библиотеки Lemon Graph. Я установил библиотеку, и она отлично работает, если я попытаюсь скомпилировать любой обычный файл c ++ с узлами и ребрами в любом графе с помощью командной строки g++ -o file file.cpp/cc -lemon
. Но когда я попробовал это с одним из моих проектов omnet ++ (в котором сейчас ничего нет), код выглядит следующим образом
#include <omnetpp.h>
#include <iostream>
#include <lemon/list_graph.h>
using namespace lemon;
using namespace std;
class Facility : public cSimpleModule
{
protected:
virtual void initialize();
virtual void handleMessage(cMessage *msg);
};
Define_Module(Facility);
void Facility :: initialize(){
}
void Facility :: handleMessage(cMessage *msg){
}`
заголовки include заключены в угловые скобки (не путать с двойными кавычками). Поэтому, когда я создаю код, я получаю следующие ошибки:
Description Resource Path Location Type
‘class cEnvir’ has no member named ‘push_back’ PSUC line 686, external location: /usr/local/include/lemon/bits/graph_extender.h C/C++ Problem
‘class cEnvir’ has no member named ‘push_back’ PSUC line 687, external location: /usr/local/include/lemon/bits/graph_extender.h C/C++ Problem
‘test’ does not name a type test.cc /ztest line 9 C/C++ Problem
invalid use of qualified-name ‘cSimulation::getActiveEnvir’ PSUC line 69, external location: /home/vijay/omnetpp-4.6/include/cenvir.h C/C++ Problem
make: *** [out/gcc-debug//psuc.o] Error 1 PSUC C/C++ Problem
make: *** [out/gcc-debug//test.o] Error 1 ztest C/C++ Problem
no matching function for call to ‘lemon::AlterationNotifier<lemon::GraphExtender<lemon::ListGraphBase>, lemon::ListGraphBase::Arc>::add(cEnvir&)’ PSUC line 688, external location: /usr/local/include/lemon/bits/graph_extender.h C/C++ Problem
Почему код Omnet ++ не совместим с библиотекой графов Lemon?