Omnet++ 问题 运行 veins_inet 示例 - 未定义参考
Omnet++ issues running veins_inet example- undefined reference
这个问题类似于
Veins_inet:在 OMNet 5.1.1
中构建时未定义对“__imp__ZTVN5Veins17VeinsInetMobilityE”的引用
发帖时我运行正在使用最新版本的 Veins、Sumo、Omnet 和 Inet。我已经为 运行 veins_inet 示例创建了一个项目。该项目同时引用了 INET 和 Veins。但是,当 运行 举例时,我将其作为堆栈跟踪的一部分得到:
../out/gcc-release/src/veins_inet/VeinsInetManager.o:VeinsInetManager.cc:(.text+0x63a): undefined reference to `__imp__ZTVN5veins22SignalCallbackListenerIPN7omnetpp7cObjectEEE'
根据堆栈跟踪,我已经确定了可能的问题,它指的是这段代码,但我不知道任何解决方案,因为这是源代码的一部分。
#if INET_VERSION >= 0x0402
signalManager.subscribeCallback(this, TraCIScenarioManager::traciModulePreInitSignal, [this](SignalPayload<cObject*> payload) {
cModule* module = dynamic_cast<cModule*>(payload.p);
ASSERT(module);
// The INET visualizer listens to model change notifications on the
// network object by default. We assume this is our parent.
cModule* root = getParentModule();
auto* notification = new inet::cPreModuleInitNotification();
notification->module = module;
root->emit(POST_MODEL_CHANGE, notification, NULL);
});
在VEINS中,src>veins>modules>utility下有SignalManager.h,其中包含了上面代码的引用。
class VEINS_API SignalCallbackListener
除此之外,我觉得我已经用尽了所有可能的解决方案和探索。
编辑:我可以毫无错误地构建 INET 和 Veins。
我是 运行 不稳定的 Veins 和 Inet。更新这些解决了问题。
这个问题类似于 Veins_inet:在 OMNet 5.1.1
中构建时未定义对“__imp__ZTVN5Veins17VeinsInetMobilityE”的引用发帖时我运行正在使用最新版本的 Veins、Sumo、Omnet 和 Inet。我已经为 运行 veins_inet 示例创建了一个项目。该项目同时引用了 INET 和 Veins。但是,当 运行 举例时,我将其作为堆栈跟踪的一部分得到:
../out/gcc-release/src/veins_inet/VeinsInetManager.o:VeinsInetManager.cc:(.text+0x63a): undefined reference to `__imp__ZTVN5veins22SignalCallbackListenerIPN7omnetpp7cObjectEEE'
根据堆栈跟踪,我已经确定了可能的问题,它指的是这段代码,但我不知道任何解决方案,因为这是源代码的一部分。
#if INET_VERSION >= 0x0402
signalManager.subscribeCallback(this, TraCIScenarioManager::traciModulePreInitSignal, [this](SignalPayload<cObject*> payload) {
cModule* module = dynamic_cast<cModule*>(payload.p);
ASSERT(module);
// The INET visualizer listens to model change notifications on the
// network object by default. We assume this is our parent.
cModule* root = getParentModule();
auto* notification = new inet::cPreModuleInitNotification();
notification->module = module;
root->emit(POST_MODEL_CHANGE, notification, NULL);
});
在VEINS中,src>veins>modules>utility下有SignalManager.h,其中包含了上面代码的引用。
class VEINS_API SignalCallbackListener
除此之外,我觉得我已经用尽了所有可能的解决方案和探索。
编辑:我可以毫无错误地构建 INET 和 Veins。
我是 运行 不稳定的 Veins 和 Inet。更新这些解决了问题。