Ok, mais um probleminha identificado com a atualização do GCC para a versão 4.7. Apesar de uma nova versão do MiXiM ter sido lançada recentemente (versão 2.3), vamos resolver isso primeiro.
Se com a atualização do GCC (versão 4.7) ocorreu o erro na compilação do MiXiM semelhante ao que segue:
phyLayer/Interpolation.h:433:50: error: ‘asInterpolated’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
make[1]: Leaving directory `/home/dkalo/omnetpp-4.2.2/samples/MiXiM/src'
phyLayer/Interpolation.h:433:50: note: declarations in dependent base ‘InterpolatorBase<std::map >’ are not found by unqualified lookup
phyLayer/Interpolation.h:433:50: note: use ‘this->asInterpolated’ instead
Note que pela descrição do erro está ocorrendo uma ambiguidade na chamada do método asInterpolated
. Para resolver isso basta abrir o arquivo “.../MiXiM/src/base/phyLayer/Interpolation.h
” e adicionar a referência ao método local (this
) em todas as chamadas do métodos. Por exemplo:
if(upperBound == first) {
- return asInterpolated(upperBound->second, true);
+ return this->asInterpolated(upperBound->second, true);
}
E pronto.