标签: omnet++

Mac OS X Sierra上的OMNeT ++ IDE崩溃

最近我们在几台OS X(MacOS Sierra)机器上安装了OMNeT ++ 5.0,发现启动时IDE崩溃了.汇编没有问题.这是我们得到的崩溃报告(部分堆栈跟踪).

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.CoreFoundation        0x00007fff98a41bf4 CFBundleGetFunctionPointerForName + 36
1   org.eclipse.Eclipse             0x0000000100003006 findSymbol + 66
2   org.eclipse.Eclipse             0x0000000100001791 original_main + 1572
3   org.eclipse.Eclipse             0x0000000100001e50 main + 1230
4   org.eclipse.Eclipse             0x0000000100000fec start + 52
Run Code Online (Sandbox Code Playgroud)

当我调查时,我发现虽然应用程序包具有指定的路径,但IDE(即Eclipse)无法找到插件.

我以前不知道它是如何运作的.也许OS X Sierra改变了一些东西.

因为我想拼命地让它工作,我发现了一个肮脏的黑客.

1 右键单击omnetpp.app

2 选择"显示包裹内容"

3转到Contents/MacOS并使用文本编辑器打开omnetpp.ini.你应该看到这样的东西

-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
 ../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20150204-1316
-name
OMNeT++ IDE
-vmargs
-Xms256m
-Xmx1024m
-XX:MaxPermSize=320m
Run Code Online (Sandbox Code Playgroud)

4更改给予绝对路径的所有路径(安装到OMNeT ++ 5.0的位置).例,

../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
Run Code Online (Sandbox Code Playgroud)

/Users/myhome/omnet-5.0/ide/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
Run Code Online (Sandbox Code Playgroud)

非常感谢正确的解决方案.

提前致谢.

macos omnet++ macos-sierra

7
推荐指数
1
解决办法
1562
查看次数

构建Omnet ++时出错:无法在Mountain Lion上构建Tcl/Tk应用程序

我正在尝试在Mountain Lion上编译Omnet ++ 4.1.当我输入:

./configure 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

configure:error:无法构建Tcl/Tk应用程序,可能是由于配置错误或缺少X11头文件或库.检查config.log以获取更多信息!

我记得在没有任何问题的情况下在Lion上编译它,任何想法如何让它在Mountain Lion上运行?

compilation omnet++ osx-lion

6
推荐指数
1
解决办法
4087
查看次数

如何从 Veins Car2X 模拟器中的 TraCIDemoRSU11p 访问 TraCI 命令界面?

我想从Veins Source for OMNet++中RSU模型的应用层访问TraCI的命令接口。但我无法找到。任何人都可以帮我这样做吗?

请注意,在 RSU 节点的情况下,我没有将 TraciMobility 作为父模块。它只有 BaseMobility,这正是我想要的。现在我想访问命令界面,以便此 RSU 可以执行相扑指令,例如更改交通灯和获取感应回路数据。

c++ omnet++ veins

5
推荐指数
1
解决办法
1127
查看次数

如何在 OMNeT++ 和 INET Framework 中检测接收器的冲突

我试图了解 Radio.cc 的行为(在 inet/physicallayer/common/packetlevel/ 中)。

我特别想知道它如何检测碰撞。

我希望是这样的:

if(radio==IDLE and newFrame arrives){
    radio = RECEIVING;
    startReception();
}
else
   if(radio==RECEIVING and newFrame arrives)
      impossible to receive --> COLLISION! --> stop()
Run Code Online (Sandbox Code Playgroud)

但是对于我所看到的,如果两个帧同时到达接收器,第一个的接收是'接收开始:忽略',第二个被传递到 MAC 层,它说'包含位错误或冲突,放下它'(IdealMac)。

我的问题是,接收器不应该阻塞两个帧(因为它不能同时接收两个)或将它们都传递给上层 MAC 层,然后将它们作为错误帧读取?

c++ inet omnet++

5
推荐指数
0
解决办法
484
查看次数

OMNeT++ 和静脉稳态车辆密度

我想在我的(长)模拟 (OMNeT+Veins) 中保持恒定数量的汽车。我不太关心移动性,所以我可能会使用 Veins 内置函数 *.manager.numVehicles = 100。问题是,如果我没有指定任何(足够的)车辆流量(来自 SUMO),我的模拟会立即终止(因为没有事件)。所以我创建了一些流(更快地退出模拟),当汽车消失时,静脉会填满它们。

有没有更优雅的方法来做到这一点?我更喜欢只使用 numVehicles 函数,因为它更容易,而且汽车移动最少,因此它们可以长时间保持在模拟中。

我需要稳态车辆密度(车辆数量固定 - 即使旧的离开,新的进入以在同一时刻替换它们)。

谢谢,安德烈亚斯

omnet++ veins

5
推荐指数
1
解决办法
292
查看次数

分析和绘制OMNET ++结果

我使用了VEINS/OMNET ++模拟Cmdenv.通常我使用OMNET ++ IDE来运行模拟,并在IDE中分析结果.但现在结果是在服务器上,是否有更简单(方便)的方法来分析结果而不将其导入OMNET ++ IDE?

statistics omnet++ veins

4
推荐指数
1
解决办法
1004
查看次数

使用SUMO场景的子集进行OMNeT ++网络模拟(使用VEINS)

我正在尝试使用OMNeT ++,Veins和SUMO评估在车载网络上运行的应用程序.由于应用程序依赖于实际的流量行为,因此我决定使用LuST场景,这似乎是此类数据的最新技术.但是,我想使用此场景的特定部分而不是整个场景(例如,高流量负载片段和低流量负载片段,可能是其他部分).保持VEINS提供的双向功能会很好,尽管我最感兴趣的是从SUMO获取流量数据到我的模拟中.

实现这一点的一个显而易见的方法是使用预热期.但是,我想知道是否有更有效的方法 - 模拟8小时的流量只是为了得到一个几分钟的片段感觉效率低下,并且对于具有足够重复的模拟可能是有问题的.

VEINS是否具有用于预热期的内置机制,主要是避免发送消息(这是模拟中最耗时的部分),或者它是否有办法等待SUMO前进,例如,到一个特定的时间戳(这也避免了在OMNeT ++中创建车辆对象,从而避免了所有的启动代码)?

如果它是相关的 - 我使用最新的稳定版本的OMNeT ++和SUMO(OMNeT ++ 4.6与SUMO 0.25.0),我的代码库基于VEINS 4a2(有一些更改,特别是接受TraCI API版本10).

simulation omnet++ veins

4
推荐指数
1
解决办法
760
查看次数

std :: map找不到C++

我使用以下行创建了一个哈希映射和一个迭代器:

std::map<const char*,vaLueClass *> myCache;
std::map<const char*,vaLueClass *>::iterator myCacheIterator;
Run Code Online (Sandbox Code Playgroud)

然后我使用以下行插入此地图:

myCache[anotherObject->getStringKey()] = new vaLueClass(anotherObj1->getIntAttr(), anotherObj1-->getIntAttr());
Run Code Online (Sandbox Code Playgroud)

然后,每当我尝试使用下面的行搜索此地图或坚果中是否存在特定字符串的ENTRY时,它总是进入IF块,换句话说,它在该映射中找不到任何条目.

myCacheIterator= myCache.find(sampleObject->getstringKey());
Run Code Online (Sandbox Code Playgroud)

注意:此处sampleObject->getstringKey()返回先前插入的相同密钥.

if (myCacheIterator.operator ==(myCache.end())){
   // this block means that no matched entry is found inside the map myCache
}
Run Code Online (Sandbox Code Playgroud)

另外,这是在C++中创建和使用std :: map的正确方法吗?如果没有,请建议一个.

另外,我没有使用关键字new来创建std :: map对象.

c++ string stl omnet++ c++11

4
推荐指数
1
解决办法
3387
查看次数

在OMNET ++或NS3之间进行选择

我和我的朋友将开始一个项目.我们将模拟服务器和客户端之间的基本通信.我们有一个伪代码,我们将要实现.使用此通信,我们将尝试以不同方式检测通信中的故障.我们都是这两个软件的新手,所以我们想就我们应该使用哪种软件提出一些建议.任何能引导我们走向正确方向的利弊都会很好.

一个简单的TCP/IP协议就可以了.Python,C#,Java,C或C++会很好.没有具体要求,因为我们只会使用一些简单的算法来尝试检测服务器或客户端之间的通信是否有故障(检测它们之间的错误消息)

omnet++ ns-3

4
推荐指数
1
解决办法
3984
查看次数

尝试使用 INET 引用创建新项目,在 .msg 文件中得到:“unexpected NAME, waiting $end”

我创建了一个项目,其中包含我的链路层和模拟源代码。该项目以 INET 作为项目参考。

在构建时,我收到此错误:

错误:语法错误,意外的名称,期望 $end

它来自消息文件(包含消息类型):

import inet.common.INETDefs;
Run Code Online (Sandbox Code Playgroud)

我的消息文件与 Bmac 消息文件非常相似(也尝试使用 Bmac,得到相同的错误)。

有什么想法吗?

inet omnet++

4
推荐指数
1
解决办法
2049
查看次数

标签 统计

omnet++ ×10

veins ×4

c++ ×3

inet ×2

c++11 ×1

compilation ×1

macos ×1

macos-sierra ×1

ns-3 ×1

osx-lion ×1

simulation ×1

statistics ×1

stl ×1

string ×1