INET <!>错误:无法加载库'../../src//libINET.dll':找不到指定的模块

时间:2019-10-23 19:01:32

标签: omnet++

我刚刚做

1.download omnetpp-5.5.1-src-windows.zip

2。解压缩

3.run mingwenv.cmd

4.configure&make

5。运行omnetpp

6。选中“安装INET ...”复选框(默认情况下已选中)

7。转到inet / tutorials / wireless / omnetpp.ini,单击运行

失败。

总结一下,我什么都没做,我只是下载并运行inet的教程。

OMNeT++ Discrete Event Simulation  (C) 1992-2019 Andras Varga, OpenSim Ltd. Version: 5.5.1, build: 190613-08ba16f914, edition: Academic Public License -- NOT FOR COMMERCIAL USE See the license for distribution terms and warranty disclaimer


<!> Error: Cannot load library '../../src//libINET.dll': 找不到指定的程序?

End.

Simulation terminated with exit code: 1 Working directory: E:/omnetpp-5.5.1/samples/inet/tutorials/wireless Command line: ../../../../bin/opp_run.exe -m -n ../../src;../../examples;..;../../showcases --image-path=../../images
-l ../../src/INET omnetpp.ini

Environment variables: PATH=;E:/omnetpp-5.5.1/samples/inet/src;E:\omnetpp-5.5.1\bin;E:\omnetpp-5.5.1\tools\win64\mingw64\bin;E:\omnetpp-5.5.1\tools\win64\usr\bin;;E:/omnetpp-5.5.1/ide/jre/bin/server;E:/omnetpp-5.5.1/ide/jre/bin;E:/omnetpp-5.5.1/ide/jre/lib/amd64;.;E:\omnetpp-5.5.1\bin;E:\omnetpp-5.5.1\tools\win64\mingw64\bin;E:\omnetpp-5.5.1\tools\win64\usr\local\bin;E:\omnetpp-5.5.1\tools\win64\usr\bin;E:\omnetpp-5.5.1\tools\win64\usr\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;E:\omnetpp-5.5.1\tools\win64\usr\bin\site_perl;E:\omnetpp-5.5.1\tools\win64\usr\bin\vendor_perl;E:\omnetpp-5.5.1\tools\win64\usr\bin\core_perl;E:\omnetpp-5.5.1; OMNETPP_ROOT=E:/omnetpp-5.5.1/ OMNETPP_IMAGE_PATH=E:\omnetpp-5.5.1\images

Run failed screenshot

我也在命令行中运行了它,它也是相同的错误消息。

Run in command line

实际上,这不是winpcap的问题,因为我搜索了有关安装winpcap的所有答案,但我尝试了一下,但没有成功。而且那些情况无法建立inet。

但是!!!根据我的情况, omnetpp和inet都构建成功!所以实际上我有这个文件(libINET.dll)。所以这点太奇怪了。

21:04:19 **** Incremental Build of configuration release for project inet ****
make MODE=release -j4 all 
cd src && /usr/bin/make
make[1]: Entering directory '/e/omnetpp-5.5.1/samples/inet/src'
*** COMPILING with:
clang++ -c -std=c++11 -O3 -DNDEBUG=1 -MMD -MP -MF .d    -isystem /usr/include -isystem /mingw64/include -Wno-deprecated-register -Wno-unused-function -fno-stack-protector  -DXMLPARSER=libxml -DPREFER_QTENV -DWITH_QTENV -DWITH_PARSIM -DWITH_NETBUILDER -DWITH_OSG -DWITH_OSGEARTH -DINET_EXPORT -Wno-overloaded-virtual -include inet/common/precompiled_release.h  -DINET_EXPORT -I. -IE:/omnetpp-5.5.1/include
*** LINKING with:
clang++ -shared  -o ../out/clang-release/src/libINET.dll -Wl,--no-as-needed -Wl,--whole-archive  -lws2_32 -Wl,--no-whole-archive -loppenvir -loppsim -lstdc++  -losg -losgText -losgDB -losgGA -losgViewer -losgUtil -lOpenThreads  -losgEarth -losgEarthUtil  -Wl,-rpath,E:/omnetpp-5.5.1/lib -Wl,-rpath,E:/omnetpp-5.5.1/tools/win64/lib -Wl,-rpath,. -L/usr/bin -L/usr/lib -L/mingw64/lib -LE:/omnetpp-5.5.1/lib
Building...
make[1]: Nothing to be done for 'all-pch'.
make[1]: Leaving directory '/e/omnetpp-5.5.1/samples/inet/src'

21:04:22 Build Finished. 0 errors, 0 warnings. (took 3s.519ms)

libINET.dll in Windows Explorer

libINET.dll is existed

但是我可以运行tictok。因此,我认为omnet ++是有效的,只有Inet不起作用。

tictok is works fine

我检查了我的%PATH%是否正常。

echo %PATH%

我正在使用Windows 7 64位。实际上,我在虚拟机上全新安装的相同版本的win7或win10中执行了同一步骤。一切正常。

原因是我尝试重建所有内容,甚至重新下载omnet ++软件包。

我还检查了有关操作系统的所有信息,似乎都没问题,并且操作系统中的其他软件都工作正常。

那我该怎么办,现在该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:0)

Process Monitor Screenshot

最后,我通过使用Process Monitor分析了它加载的dll解决了这个问题。在虚拟机中左侧无法正常工作,右侧可以正常运行。

我发现区别在于它加载的最终DLL是SYSTEM32中的libeay32.dll,然后崩溃了。并在工作的VM中从omnet ++自己的文件夹中加载,然后继续加载其他dll。

因此,我在system32中找到了错误版本的libeay32.dll,该版本由其他软件安装。这是一个OpenSSL dll,并且软件使用OpenSSL,并且在安装时将旧版本的OpenSSL放入SYSTEM32。 因此,我只是从SYSTEM32删除libeay32.dll,现在一切正常。