我刚刚做
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
我也在命令行中运行了它,它也是相同的错误消息。
实际上,这不是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
但是我可以运行tictok。因此,我认为omnet ++是有效的,只有Inet不起作用。
我检查了我的%PATH%是否正常。
我正在使用Windows 7 64位。实际上,我在虚拟机上全新安装的相同版本的win7或win10中执行了同一步骤。一切正常。
原因是我尝试重建所有内容,甚至重新下载omnet ++软件包。
我还检查了有关操作系统的所有信息,似乎都没问题,并且操作系统中的其他软件都工作正常。
那我该怎么办,现在该怎么办?
谢谢!
答案 0 :(得分:0)
最后,我通过使用Process Monitor分析了它加载的dll解决了这个问题。在虚拟机中左侧无法正常工作,右侧可以正常运行。
我发现区别在于它加载的最终DLL是SYSTEM32中的libeay32.dll,然后崩溃了。并在工作的VM中从omnet ++自己的文件夹中加载,然后继续加载其他dll。
因此,我在system32中找到了错误版本的libeay32.dll,该版本由其他软件安装。这是一个OpenSSL dll,并且软件使用OpenSSL,并且在安装时将旧版本的OpenSSL放入SYSTEM32。 因此,我只是从SYSTEM32删除libeay32.dll,现在一切正常。