我已将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();
}
这个问题的答案也存在于Castalia论坛(Google Group)中。
在Ubuntu中使用较新版本的GCC编译器时出现错误。别忘了,Castalia 3.3已经陈旧(2013年发布)。简单的铸造解决了这个问题。
traceFile.open((const char *)par("traceFile"));
但是您不需要更改代码。相反,只需从Castalia Github存储库获取最新代码。它包含此修复程序以及其他小修复程序。
始终使用Castalia Github repository的最新版本。