2010-05-11 5 views
0

Я установил MTL на моей системе x64 Fedora Core 12, но при создании приложения я получаю следующее сообщение об ошибке:C++ MTL Library dimension.h ошибка?

In file included from /usr/local/include/mtl/matrix.h:41, 
       from /usr/local/include/mtl/mtl.h:40, 
       from ltiSystem.hxx:4, 
       from strTools.hxx:4, 
       from ff.cxx:3: 
/usr/local/include/mtl/envelope2D.h:72: error: declaration of ‘typedef struct mtl::twod_tag mtl::envelope2D<T>::dimension’ 
/usr/local/include/mtl/dimension.h:19: error: changes meaning of ‘dimension’ from ‘class mtl::dimension<typename mtl::dense1D<T, 0>::size_type, 0, 0>’ 
make[1]: *** [ff.o] Error 1 

что означало бы ошибку в MTL. Я изменился на разные версии MTL, и проблема не устранена, но в Google нет правильного ответа. Я использую компилятор g ++.

У кого-нибудь есть клиа?

ответ

0

проблема в вашем коде, почти стопроцентная гарантия.

Посмотрите на неоднозначное заявление с размерностью, т.е. typedef mtl::envelope2D<T>::dimension dimension

0

Ну, я тоже так думал, но это также происходит с тест-набором, который в комплекте с MTL.

0

У меня была такая же проблема сегодня с версией MTL mtl-2.1.2-23.tentative.tar.gz.

Решение было изменить:

typedef dimension<size_type> dim_type; 

в

typedef mtl::dimension<size_type> dim_type; 

в файле envelope2D.h. я также должен был добавить

#include <cstddef> 

в начале из light1D.h.