OMNET++ 5.0 and Qt

OMNET++ 5.0 and Qt

本文关键字:Qt and OMNET++      更新时间:2023-10-16

我正在OMNET++环境中编写一个简单的Qt5应用程序。我将程序与Qt5WidgetsQt5GuiQt5Corepthread链接。代码编译和构建成功,但我无法使用opp_run运行它。我正在从我的项目中创建一个共享库libVENTOS.so,ldd输出显示所有共享库在我的机器上都可用。所以我想opp_run无法加载一些Qt5库。我该如何解决这个问题?

$ ldd ./libVENTOS.so 
    linux-vdso.so.1 =>  (0x00007ffc968ad000)
    libboost_system.so.1.54.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.54.0 (0x00007f2580f48000)
    libboost_filesystem.so.1.54.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.54.0 (0x00007f2580d32000)
    libboost_serialization.so.1.54.0 => /usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.54.0 (0x00007f2580ac7000)
    libpcap.so.0.8 => /usr/lib/x86_64-linux-gnu/libpcap.so.0.8 (0x00007f2580889000)
    libusb-1.0.so.0 => /usr/local/lib/libusb-1.0.so.0 (0x00007f2580671000)
    libbluetooth.so.3 => /usr/lib/x86_64-linux-gnu/libbluetooth.so.3 (0x00007f258044f000)
    libsnmp++.so.33 => /usr/local/lib/libsnmp++.so.33 (0x00007f25801e1000)
    libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f257ff7f000)
    libshark_debug.so.0 => /usr/local/lib/libshark_debug.so.0 (0x00007f257f42e000)
    liblapack_atlas.so.3 => /usr/lib/liblapack_atlas.so.3 (0x00007f257f1d4000)
    libssh.so.4 => /usr/lib/x86_64-linux-gnu/libssh.so.4 (0x00007f257ef8e000)
    libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007f257e765000)
    libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f257e118000)
    libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f257da72000)
    liboppenvird.so => /home/mani/Desktop/omnetpp-5.0/lib/liboppenvird.so (0x00007f257d6e6000)
    liboppsimd.so => /home/mani/Desktop/omnetpp-5.0/lib/liboppsimd.so (0x00007f257d0d5000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f257ced1000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f257cbcd000)
    libosg.so.99 => /usr/lib/libosg.so.99 (0x00007f257c6fd000)
    libosgGA.so.99 => /usr/lib/libosgGA.so.99 (0x00007f257c483000)
    libosgViewer.so.99 => /usr/lib/libosgViewer.so.99 (0x00007f257c1b1000)
    libosgQt.so.99 => /usr/lib/libosgQt.so.99 (0x00007f257bf91000)
    libOpenThreads.so.14 => /usr/lib/libOpenThreads.so.14 (0x00007f257bd89000)
    libosgEarth.so.2 => /usr/lib/libosgEarth.so.2 (0x00007f257b956000)
    libosgEarthUtil.so.2 => /usr/lib/libosgEarthUtil.so.2 (0x00007f257b53d000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f257b237000)
    libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f257b028000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f257ae12000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f257abf4000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f257a82f000)
    libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f257a61e000)
    libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f257a242000)
    libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007f257a00f000)
    librtmp.so.0 => /usr/lib/x86_64-linux-gnu/librtmp.so.0 (0x00007f2579df5000)
    libgcrypt.so.11 => /lib/x86_64-linux-gnu/libgcrypt.so.11 (0x00007f2579b75000)
    libgnutls.so.26 => /usr/lib/x86_64-linux-gnu/libgnutls.so.26 (0x00007f25798b7000)
    libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f2579670000)
    liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f2579461000)
    libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f2579210000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2578ff7000)
    liblapack.so.3 => /usr/lib/liblapack.so.3 (0x00007f257885b000)
    libcblas.so.3 => /usr/lib/libcblas.so.3 (0x00007f257863a000)
    libf77blas.so.3 => /usr/lib/libf77blas.so.3 (0x00007f257841a000)
    libatlas.so.3 => /usr/lib/libatlas.so.3 (0x00007f2577e87000)
    libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f2577b6d000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f2577965000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f2581df3000)
    libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f2577714000)
    libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f257740c000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f25770d7000)
    libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f2576eb1000)
    libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f2576c5c000)
    libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007f25769f6000)
    libicui18n.so.52 => /usr/lib/x86_64-linux-gnu/libicui18n.so.52 (0x00007f25765ef000)
    libicuuc.so.52 => /usr/lib/x86_64-linux-gnu/libicuuc.so.52 (0x00007f2576276000)
    liboppnedxmld.so => /home/mani/Desktop/omnetpp-5.0/lib/liboppnedxmld.so (0x00007f2575f12000)
    liboppcommond.so => /home/mani/Desktop/omnetpp-5.0/lib/liboppcommond.so (0x00007f2575c7e000)
    libmpi_cxx.so.1 => /usr/lib/libmpi_cxx.so.1 (0x00007f2575a64000)
    libmpi.so.1 => /usr/lib/libmpi.so.1 (0x00007f25756e3000)
    libosgDB.so.99 => /usr/lib/libosgDB.so.99 (0x00007f25753e6000)
    libosgUtil.so.99 => /usr/lib/libosgUtil.so.99 (0x00007f2575023000)
    libosgText.so.99 => /usr/lib/libosgText.so.99 (0x00007f2574dca000)
    libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007f25748e5000)
    libQtGui.so.4 => /usr/lib/x86_64-linux-gnu/libQtGui.so.4 (0x00007f2573c32000)
    libQtOpenGL.so.4 => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4 (0x00007f2573934000)
    libosgTerrain.so.99 => /usr/lib/libosgTerrain.so.99 (0x00007f25736fc000)
    libosgShadow.so.99 => /usr/lib/libosgShadow.so.99 (0x00007f2573466000)
    libgdal.so.1 => /usr/lib/libgdal.so.1 (0x00007f257270f000)
    libosgManipulator.so.99 => /usr/lib/libosgManipulator.so.99 (0x00007f25724c9000)
    libosgEarthFeatures.so.2 => /usr/lib/libosgEarthFeatures.so.2 (0x00007f2572212000)
    libosgEarthSymbology.so.2 => /usr/lib/libosgEarthSymbology.so.2 (0x00007f2571f5f000)
    libosgEarthAnnotation.so.2 => /usr/lib/libosgEarthAnnotation.so.2 (0x00007f2571cc6000)
    libosgSim.so.99 => /usr/lib/libosgSim.so.99 (0x00007f2571a31000)
    libcgmanager.so.0 => /lib/x86_64-linux-gnu/libcgmanager.so.0 (0x00007f2571816000)
    libnih.so.1 => /lib/x86_64-linux-gnu/libnih.so.1 (0x00007f25715fe000)
    libnih-dbus.so.1 => /lib/x86_64-linux-gnu/libnih-dbus.so.1 (0x00007f25713f4000)
    libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f25711af000)
    libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f2570faa000)
    libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f2570d96000)
    libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f2570b54000)
    libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f2570889000)
    libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f257065a000)
    libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f2570456000)
    libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f257024b000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f2570030000)
    libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f256fe15000)
    libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f256fbd7000)
    libblas.so.3 => /usr/lib/libblas.so.3 (0x00007f256f60b000)
    libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f256f3cf000)
    libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f256f1c7000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f256ef89000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f256ed6a000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f256eac7000)
    libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f256e8a1000)
    libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f256e67a000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f256e468000)
    libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f256e265000)
    libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f256e05f000)
    libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f256de5d000)
    libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f256dc46000)
    libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f256da41000)
    libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007f256d83e000)
    libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007f256d63b000)
    libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f256d435000)
    libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007f256d233000)
    libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f256d02d000)
    libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f256ce20000)
    libicudata.so.52 => /usr/lib/x86_64-linux-gnu/libicudata.so.52 (0x00007f256b5b3000)
    libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f256b24c000)
    libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f256b049000)
    libhwloc.so.5 => /usr/lib/x86_64-linux-gnu/libhwloc.so.5 (0x00007f256ae09000)
    libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007f256abff000)
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f256a9c3000)
    libaudio.so.2 => /usr/lib/x86_64-linux-gnu/libaudio.so.2 (0x00007f256a7ab000)
    libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007f256a5a3000)
    libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007f256a387000)
    libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007f256a177000)
    libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f2569f6d000)
    libarmadillo.so.4 => /usr/lib/libarmadillo.so.4 (0x00007f2569d66000)
    libproj.so.0 => /usr/lib/libproj.so.0 (0x00007f2569b14000)
    libpoppler.so.44 => /usr/lib/x86_64-linux-gnu/libpoppler.so.44 (0x00007f25696b8000)
    libfreexl.so.1 => /usr/lib/x86_64-linux-gnu/libfreexl.so.1 (0x00007f25694ae000)
    libgeos_c.so.1 => /usr/lib/libgeos_c.so.1 (0x00007f256928a000)
    libwebp.so.5 => /usr/lib/x86_64-linux-gnu/libwebp.so.5 (0x00007f2569032000)
    libepsilon.so.1 => /usr/lib/x86_64-linux-gnu/libepsilon.so.1 (0x00007f2568e1a000)
    libodbc.so.1 => /usr/lib/x86_64-linux-gnu/libodbc.so.1 (0x00007f2568bb3000)
    libodbcinst.so.1 => /usr/lib/x86_64-linux-gnu/libodbcinst.so.1 (0x00007f25689a1000)
    libkmldom.so.0 => /usr/lib/x86_64-linux-gnu/libkmldom.so.0 (0x00007f25686f8000)
    libkmlbase.so.0 => /usr/lib/x86_64-linux-gnu/libkmlbase.so.0 (0x00007f25684e2000)
    libkmlengine.so.0 => /usr/lib/x86_64-linux-gnu/libkmlengine.so.0 (0x00007f25682ae000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f2568084000)
    libxerces-c-3.1.so => /usr/lib/x86_64-linux-gnu/libxerces-c-3.1.so (0x00007f2567afc000)
    libjasper.so.1 => /usr/lib/x86_64-linux-gnu/libjasper.so.1 (0x00007f25678a5000)
    libnetcdf.so.7 => /usr/lib/libnetcdf.so.7 (0x00007f2567568000)
    libhdf5.so.7 => /usr/lib/x86_64-linux-gnu/libhdf5.so.7 (0x00007f25670cc000)
    libmfhdfalt.so.0 => /usr/lib/libmfhdfalt.so.0 (0x00007f2566e9b000)
    libdfalt.so.0 => /usr/lib/libdfalt.so.0 (0x00007f2566bb5000)
    libogdi.so.3.2 => /usr/lib/libogdi.so.3.2 (0x00007f2566994000)
    libgif.so.4 => /usr/lib/x86_64-linux-gnu/libgif.so.4 (0x00007f256678b000)
    libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f2566536000)
    libpq.so.5 => /usr/lib/libpq.so.5 (0x00007f2566307000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f25660e5000)
    libdapclient.so.3 => /usr/lib/x86_64-linux-gnu/libdapclient.so.3 (0x00007f2565eae000)
    libdap.so.11 => /usr/lib/x86_64-linux-gnu/libdap.so.11 (0x00007f2565bc8000)
    libspatialite.so.5 => /usr/lib/x86_64-linux-gnu/libspatialite.so.5 (0x00007f25655cc000)
    libmysqlclient.so.18 => /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18 (0x00007f2565094000)
    libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f2564e90000)
    libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f2564c87000)
    libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f25649ff000)
    libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f256475e000)
    libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f256452b000)
    libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007f2564316000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f2564112000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f2563f0c000)
    libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1 (0x00007f2563d01000)
    libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6 (0x00007f2563a9b000)
    libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f2563896000)
    libarpack.so.2 => /usr/lib/libarpack.so.2 (0x00007f2563648000)
    liblcms2.so.2 => /usr/lib/x86_64-linux-gnu/liblcms2.so.2 (0x00007f25633f3000)
    libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007f2563181000)
    libgeos-3.4.2.so => /usr/lib/libgeos-3.4.2.so (0x00007f2562dfd000)
    liburiparser.so.1 => /usr/lib/liburiparser.so.1 (0x00007f2562be3000)
    libminizip.so.0 => /usr/lib/x86_64-linux-gnu/libminizip.so.0 (0x00007f25629db000)
    libhdf5_hl.so.7 => /usr/lib/x86_64-linux-gnu/libhdf5_hl.so.7 (0x00007f25627ab000)
    libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f256254c000)
    libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f2562293000)
    libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007f256206a000)
    libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f2561e5c000)
    libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f2561c13000)
    libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f25619da000)
    libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007f25617cc000)

更新:恢复我的代码以使用Qt4解决了问题,我可以完美地运行我的应用程序。所以我想这个错误是由于混合了Qt4和Qt5库。Omnet++使用Qt4,而我的C++代码使用Qt5。有什么方法可以在OMNET 5中使用Qt5库吗?

转到omnetpp.ini所在的目录并键入:

opp_run -l ../src/VENTOS

其中CCD_ 7是到包含CCD_ 8的目录的相对路径。