Compiling Irrlicht (solved)

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Virion
Competition winner
Posts: 2149
Joined: Mon Dec 18, 2006 5:04 am

Post by Virion »

i've updated my irrlicht svn to revision 681.
when i try to compile, few hundreds of errors regarding matrix4.h occurred:
c:\irrlicht\trunk\include\matrix4.h(280) : warning C4346: 'irr::core::CMatrix4::eConstructor' : dependent name is not a type
prefix with 'typename' to indicate a type
c:\irrlicht\trunk\include\matrix4.h(280) : error C2146: syntax error : missing ')' before identifier 'constructor'
c:\irrlicht\trunk\include\matrix4.h(280) : error C2433: 'irr::core::CMatrix4::{ctor}' : 'inline' not permitted on data declarations
c:\irrlicht\trunk\include\matrix4.h(280) : error C2350: 'irr::core::CMatrix4::{ctor}' is not a static member
c:\irrlicht\trunk\include\matrix4.h(280) : error C2059: syntax error : ')'
c:\irrlicht\trunk\include\matrix4.h(299) : error C2065: 'T' : undeclared identifier
c:\irrlicht\trunk\include\matrix4.h(300) : error C2448: 'definitelyIdentityMatrix' : function-style initializer appears to be a function definition
COSOperator.cpp
CLogger.cpp
CIrrDeviceWin32.cpp
c:\irrlicht\trunk\include\matrix4.h(280) : warning C4346: 'irr::core::CMatrix4::eConstructor' : dependent name is not a type
prefix with 'typename' to indicate a type
c:\irrlicht\trunk\include\matrix4.h(280) : error C2146: syntax error : missing ')' before identifier 'constructor'
c:\irrlicht\trunk\include\matrix4.h(280) : error C2433: 'irr::core::CMatrix4::{ctor}' : 'inline' not permitted on data declarations
c:\irrlicht\trunk\include\matrix4.h(280) : error C2350: 'irr::core::CMatrix4::{ctor}' is not a static member
c:\irrlicht\trunk\include\matrix4.h(280) : error C2059: syntax error : ')'
c:\irrlicht\trunk\include\matrix4.h(299) : error C2065: 'T' : undeclared identifier
c:\irrlicht\trunk\include\matrix4.h(300) : error C2448: 'definitelyIdentityMatrix' : function-style initializer appears to be a function definition
CIrrDeviceStub.cpp
c:\irrlicht\trunk\include\matrix4.h(280) : warning C4346: 'irr::core::CMatrix4::eConstructor' : dependent name is not a type
prefix with 'typename' to indicate a type
c:\irrlicht\trunk\include\matrix4.h(280) : error C2146: syntax error : missing ')' before identifier 'constructor'
c:\irrlicht\trunk\include\matrix4.h(280) : error C2433: 'irr::core::CMatrix4::{ctor}' : 'inline' not permitted on data declarations
c:\irrlicht\trunk\include\matrix4.h(280) : error C2350: 'irr::core::CMatrix4::{ctor}' is not a static member
c:\irrlicht\trunk\include\matrix4.h(280) : error C2059: syntax error : ')'
c:\irrlicht\trunk\include\matrix4.h(299) : error C2065: 'T' : undeclared identifier
c:\irrlicht\trunk\include\matrix4.h(300) : error C2448: 'definitelyIdentityMatrix' : function-style initializer appears to be a function definition
CIrrDeviceLinux.cpp
this is just part of it. something wrong with matrix4.h? >_<
My company: https://kloena.com
My profile: https://zhieng.com
My co-working space: https://deskspace.info
My game engine: https://kemena3d.com
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Try to remove the second <T> in line 280. Seems to be a problem with ISO C++, ma compilers did not complain.
Virion
Competition winner
Posts: 2149
Joined: Mon Dec 18, 2006 5:04 am

Post by Virion »

you mean change this (line 280, matrix4.h)

Code: Select all

	inline CMatrix4<T>::CMatrix4( CMatrix4<T>::eConstructor constructor ) : definitelyIdentityMatrix(false)
to

Code: Select all

	inline CMatrix4<T>::CMatrix4( CMatrix4::eConstructor constructor ) : definitelyIdentityMatrix(false)
this?

i still got the same errors. >_<"
My company: https://kloena.com
My profile: https://zhieng.com
My co-working space: https://deskspace.info
My game engine: https://kemena3d.com
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Ok, bitplane fixed the error by removing the class qualifier completely. But I think you could also add a 'typename' just in front of the eConstructor type in the parameter.
Virion
Competition winner
Posts: 2149
Joined: Mon Dec 18, 2006 5:04 am

Post by Virion »

Thanks it works! :D
My company: https://kloena.com
My profile: https://zhieng.com
My co-working space: https://deskspace.info
My game engine: https://kemena3d.com
Post Reply