In article <bivprg$j6g$1@sea.gmane.org>, "Yohann DOS SANTOS" <yg-boost-users@m.gmane.org> wrote:
Hello Boost Users,
When i try to compile a class that use a vector with CodeWarrior for PS2 R3.03, i have this error message :
Error : illegal use of incomplete struc/union/class 'Metrowerks::compile_assert<0>' (instantiating: 'std::vector<int, std::allocator<int>>') (instantiating: 'std::__vector_imp<int, std::allocator<int>, l>') vector line 729 ompile assert<bool(sizeof(T) == sizeof(typename Metrowerks::strore_as<T>;;type))>
And just above the error line, in the vector file :
// Error : illegal use of incomplete struct/union/class 'Metrowerks::compile_assert<0>' // This means that the store_as table in <msl_utility> is not set correctly. // sizeof(T) == sizeof(typename Metrowerks::store_as<T>::type must be true.
The code compiles and works perfectly with VC6 sp5 on PC and XBOX.
Thanks for any help.
This error indicates that one of USHRT_MAX, UINT_MAX and/or ULONG_MAX is incorrectly set in gcc's <limits.h>. However, I had our staff fire up R3.03 and they were unable to reproduce this problem (current product is R3.5). You may want to create the simplest possible demo (e.g. #include <vector> int main() { std::vector<int> v; } ?) and contact ps2_support@metrowerks.com and/or the Sony PS2 newsgroups. -Howard Metrowerks