构建castalia时出错:调用重载函数是不明确的

问题描述 投票:0回答:1

我已将castalia 3.3强加到omnet ++ 4.6。但是在使用make构建它时我遇到了这个错误,所以CastaliaBin没有构建,我不能使用castalia项目。

src / wirelessChannel / traceChannel / TraceChannel.cc:35:33:错误:调用重载'open(cPar&)'是不明确的

traceFile.open(参数( “跟踪文件”));

我不是C ++的专家,我无法解决它

这是错误localistion然后open()函数

ofstream & DebugInfoWriter::getStream(void)
{
    if (!theFile.is_open())
        theFile.open(fileName.c_str(), ios::app);
    theFile.setf(ios::left);

    return theFile;
}

void
  open(const char* __s,
   ios_base::openmode __mode = ios_base::out | ios_base::trunc)
  {
if (!_M_filebuf.open(__s, __mode | ios_base::out))
  this->setstate(ios_base::failbit);
else

  this->clear();
  }
c++ omnet++
1个回答
2
投票

这个问题的答案也存在于Castalia论坛(Google Group)中。

在Ubuntu中使用较新版本的GCC编译器时出现错误。别忘了,Castalia 3.3已经陈旧(2013年发布)。简单的铸造解决了这个问题。

traceFile.open((const char *)par("traceFile"));

但是您不需要更改代码。相反,只需从Castalia Github存储库获取最新代码。它包含此修复程序以及其他小修复程序。

始终使用Castalia Github repository的最新版本。

© www.soinside.com 2019 - 2024. All rights reserved.