I tried to compile AngelScript because I am very interested to support such scripting system in my engine. I got 64bit system however (gentoo linux). When I try to compile it I get loads of easily-solveable errors (such as size_t GetLength() isn't equal to asUINT GetLength(), because sizeof( size_t ) != sizeof( unsigned int ) under 64bit). I could correct all these, but first I want to know if somebody has the same problem or if I could correct these and post patches. If I read it correctly AngelScript is supposed to support 64bit (only Win64?) as said in AngelScript 2.6.0 release thread. btw: I declared all defines needed to compile this on 64bit machine as stated in the thread. (AS_MAX_PORTABILITY and AS_64BIT_PTR). If you don't know what I am talking about, take a look in as_array.h, there is:
template <class T> class asCArray
{
public:
...
size_t GetCapacity() const;
...
size_t GetLength() const;
...
size_t length;
size_t maxLength;
};
This seems right, but later in that file:
template <class T>
asUINT asCArray<T>::GetLength() const
{
return length;
}
...
template <class T>
asUINT asCArray<T>::GetCapacity() const
{
return maxLength;
}
It's implemented with asUINT return type but declared with size_t return type. Which doesn't seem right and gcc has the same opinion.