Невозможно правильно связать библиотеку INET с проектом omnet. Ubuntu 18 - PullRequest
0 голосов
/ 27 мая 2019

Я на Ubuntu 18, и я пытаюсь скомпилировать свой проект, где я связал библиотеку INET. Он работал нормально, когда я был на Ubuntu 16. Но теперь я получил эти ошибки на Ubuntu 18:

Я уже добавил библиотеку inet к ссылочным проектам.

myApp.cc
HelloMsg_m.cc
XedMsg_m.cc
Creating executable: out/gcc-release//SaaS
../inet/src/libINET.so : undefined reference to « osg::StateSet::setRenderingHint(int) »
../inet/src/libINET.so : undefined reference to  « osgEarth::MapNode::getMapSRS() const »
../inet/src/libINET.so : undefined reference to  « osg::Group::removeChildren(unsigned int, unsigned int) »
../inet/src/libINET.so : undefined reference to « osg::Object::getUserData() »
../inet/src/libINET.so : undefined reference to « osg::AutoTransform::setNormal(osg::Vec3f const&) »
../inet/src/libINET.so : undefined reference to  « osg::Texture::setFilter(osg::Texture::FilterParameter, osg::Texture::FilterMode) »
../inet/src/libINET.so : undefined reference to « osg::NodeVisitor::apply(osg::Node&) »
../inet/src/libINET.so : undefined reference to  « vtable for osg::Array »
../inet/src/libINET.so : undefined reference to  « osgEarth::GeoTransform::GeoTransform() »
../inet/src/libINET.so : undefined reference to  « typeinfo for osg::Group »
../inet/src/libINET.so : undefined reference to « osg::Shader::Shader(osg::Shader::Type) »
../inet/src/libINET.so : undefined reference to « osg::NodeVisitor::apply(osg::ProxyNode&) »
../inet/src/libINET.so : undefined reference to « osg::Node::getOrCreateStateSet() »
../inet/src/libINET.so : undefined reference to « osg::Texture2D::Texture2D() »
../inet/src/libINET.so : undefined reference to « osg::NodeVisitor::apply(osg::OcclusionQueryNode&) »
../inet/src/libINET.so : undefined reference to « osg::StateSet::setMode(unsigned int, unsigned int) »
../inet/src/libINET.so : undefined reference to « osg::BufferData::~BufferData() »
../inet/src/libINET.so : undefined reference to « osg::StateSet::getAttribute(osg::StateAttribute::Type, unsigned int) »
../inet/src/libINET.so : undefined reference to  « typeinfo for osg::NodeVisitor »
../inet/src/libINET.so : undefined reference to « osgText::TextBase::setDrawMode(unsigned int) »
../inet/src/libINET.so : undefined reference to « osg::Transform::Transform(osg::Transform const&, osg::CopyOp const&) »
../inet/src/libINET.so : undefined reference to « osg::Object::Object(osg::Object const&, osg::CopyOp const&) »
../inet/src/libINET.so : undefined reference to  « vtable for osg::DrawArrays »
../inet/src/libINET.so : undefined reference to « osg::Referenced::Referenced(bool) »
../inet/src/libINET.so : undefined reference to « vtable for osg::Box »
../inet/src/libINET.so : undefined reference to « osg::StateSet::setAttribute(osg::StateAttribute*, unsigned int) »
../inet/src/libINET.so : undefined reference to « osg::StateSet::setAttributeAndModes(osg::StateAttribute*, unsigned int) »
../inet/src/libINET.so : undefined reference to « typeinfo for osg::Geode »
../inet/src/libINET.so : undefined reference to « osg::Group::releaseGLObjects(osg::State*) const »
../inet/src/libINET.so : undefined reference to  « osg::Geode::Geode() »
../inet/src/libINET.so : undefined reference to « osg::Geometry::addPrimitiveSet(osg::PrimitiveSet*) »
../inet/src/libINET.so : undefined reference to « osg::NodeVisitor::apply(osg::PagedLOD&) »
../inet/src/libINET.so : undefined reference to « osg::LineStipple::LineStipple() »
.
.
.

collect2: error: ld returned 1 exit status
Makefile:104: recipe for target 'out/gcc-release//SaaS' failed
make: *** [out/gcc-release//SaaS] Error 1

Может ли кто-нибудь помочь мне в этом, я пытался решить проблему в течение трех дней безуспешно.

1 Ответ

0 голосов
/ 27 мая 2019

Вам следует использовать последнюю версию OMNeT ++ (5.4.1, скоро также будет выпущена версия 5.5) и INET 3.6.5 или INET 4.1.1.

osgEarth изменил свой API и более старые версии INETне компилировать больше.

Другое решение - отключить поддержку osg и osgEarth в OMNeT ++ (см. файл configure.user), если вам не нужна трехмерная визуализация в вашем проекте.

...