(OK) NS3

https://www.nsnam.org/wiki/BRITE_integration_with_ns-3

cd /opt/tools/network_simulators/ns3/ns-allinone-3.26
 $: hg clone http://code.nsnam.org/jpelkey3/BRITE
 $: cd BRITE
 $: make

cd /opt/tools/network_simulators/ns3/ns-allinone-3.26
 $: hg clone http://code.nsnam.org/jpelkey3/ns-3-brite-modular
 $: cd ns-3-brite-modular
 $: ./waf configure --with-brite=/opt/tools/network_simulators/ns3/ns-allinone-3.26/BRITE --with-openflow=/opt/tools/network_simulators/ns3/ns-allinone-3.26/openflow
 $: ./waf
--------------------------------------------
../src/core/model/calendar-scheduler.cc:128:45: 错误:在 {} 内将‘-1’从‘int’转换为较窄的类型‘uint64_t {aka long unsigned int}’ [-Wnarrowing]
../src/core/model/calendar-scheduler.cc:128:45: 错误:在 {} 内将‘-1’从‘int’转换为较窄的类型‘uint32_t {aka unsigned int}’ [-Wnarrowing]
../src/core/model/calendar-scheduler.cc:157:45: 错误:在 {} 内将‘-1’从‘int’转换为较窄的类型‘uint64_t {aka long unsigned int}’ [-Wnarrowing]
../src/core/model/calendar-scheduler.cc:157:45: 错误:在 {} 内将‘-1’从‘int’转换为较窄的类型‘uint32_t {aka unsigned int}’ [-Wnarrowing]
--------------------------------------------
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/src/core/model/calendar-scheduler.cc
--------------------------------------------
//  Scheduler::Event minEvent = { 0, { ~0, ~0}};
  Scheduler::Event minEvent = { 0, {(uint64_t) ~0,(uint32_t) ~0}};

//  Scheduler::Event minEvent = { 0, { ~0, ~0}};
  Scheduler::Event minEvent = { 0, {(uint64_t) ~0,(uint32_t) ~0}};
--------------------------------------------
 $: ./waf
--------------------------------------------
../src/core/model/unix-system-wall-clock-ms.cc:78:44: 错误:‘_SC_CLK_TCK’在此作用域中尚未声明
../src/core/model/unix-system-wall-clock-ms.cc:78:55: 错误:‘sysconf’在此作用域中尚未声明
--------------------------------------------
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/src/core/model/unix-system-wall-clock-ms.cc
--------------------------------------------
#include <unistd.h>            // add the line
--------------------------------------------
 $: ./waf
--------------------------------------------
../src/network/utils/ipv6-address.cc:62:26: 错误:typedef ‘ub1’ locally defined but not used [-Werror=unused-local-typedefs]
--------------------------------------------
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/src/network/utils/ipv6-address.cc
--------------------------------------------
//  typedef unsigned  char ub1;   /* unsigned 1-byte quantities */
--------------------------------------------
 $: ./waf
--------------------------------------------
../src/emu/model/emu-net-device.cc:462:15: 错误:‘::fork’未被声明
../utils/test-runner.cc:115:39: 错误:‘getcwd’在此作用域中尚未声明
--------------------------------------------
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/src/emu/model/emu-net-device.cc
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/src/tap-bridge/model/tap-bridge.cc
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/src/netanim/model/animation-interface.cc
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/utils/test-runner.cc
--------------------------------------------
#include <unistd.h>            // add the line
--------------------------------------------
 $: ./waf
--------------------------------------------
../src/internet/model/ipv6-extension.cc:338:108: 错误:对‘make_pair(ns3::Ipv6Address&, uint32_t&)’的调用没有匹配的函数
../src/internet/model/ipv6-extension.cc:568:90: 错误:对‘make_pair(ns3::Ptr<ns3::Packet>&, uint16_t&)’的调用没有匹配的函数
--------------------------------------------
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/src/internet/model/ipv6-extension.cc
--------------------------------------------
//  std::pair<Ipv6Address, uint32_t> fragmentsId = std::make_pair<Ipv6Address, uint32_t> (src, identification);
  std::pair<Ipv6Address, uint32_t> fragmentsId = std::pair<Ipv6Address, uint32_t> (src, identification);

//  m_fragments.insert (it, std::make_pair<Ptr<Packet>, uint16_t> (fragment, fragmentOffset));
  m_fragments.insert (it, std::pair<Ptr<Packet>, uint16_t> (fragment, fragmentOffset));
--------------------------------------------
 $: ./waf
--------------------------------------------
../src/wimax/model/bs-scheduler-rtps.cc:497:29: 错误:‘struct ns3::WimaxMacQueue::QueueElement’ is private within this context
../src/wimax/model/wimax-mac-queue.h:121:10: 附注:declared private here
   struct QueueElement
--------------------------------------------
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/src/wimax/model/wimax-mac-queue.h
--------------------------------------------
//private:            // del the line
  struct QueueElement
  {
    ...
  };
private:            // add the line
--------------------------------------------
 $: ./waf
--------------------------------------------
debug/ns3/abort.h:100:7: 错误:nonnull argument ‘this’ compared to NULL [-Werror=nonnull-compare]
--------------------------------------------
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/build/debug/ns3/abort.h
--------------------------------------------
      if (cond)                                                          
修改为
      if ((cond) && 1)                                                          
--------------------------------------------
../src/uan/model/uan-mac-cw.cc:126:37: 错误:comparison of constant ‘3’ with boolean expression is always false [-Werror=bool-compare]
--------------------------------------------
vim /opt/tools/network_simulators/ns3/ns-allinone-3.26/ns-3-brite-modular/src/uan/model/uan-mac-cw.cc
--------------------------------------------
//      if (m_txEndEvent.IsRunning () == TX)
      if (m_state == TX)
--------------------------------------------
 $: ./waf
--------------------------------------------

--------------------------------------------
So far, OK
--------------------------------------------
原文地址:https://www.cnblogs.com/ztguang/p/12644748.html