I need to compile the library both for linux (regular .a file) and for windows (cross-compiling using mingw).
I've already compiled the linux library part, just there's something that bugs me: COSOperator.cpp can't be compiled due to this error.
Code: Select all
g++ -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing -g -D_DEBUG -I../../include -Izlib -Ijpeglib -Ilibpng -I/usr/X11R6/include -DIRRLICHT_EXPORTS=1 -c -o COSOperator.o COSOperator.cpp
COSOperator.cpp:16:10: error fatal: sys/sysctl.h: No existe el fichero o el directorio
16 | #include <sys/sysctl.h>
| ^~~~~~~~~~~~~~
compilación terminada.
make: *** [<integrado>: COSOperator.o] Error 1
So the big problem. Makefile says to run "make win32" to crosscompile using mingw-32, the problem is that:
Code: Select all
g++ -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing -g -D_DEBUG -I../../include -Izlib -Ijpeglib -Ilibpng -DIRRLICHT_EXPORTS=1 -DNO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_ -DNO_IRR_COMPILE_WITH_DIRECT3D_9_ -DIRR_COMPILE_WITH_DX9_DEV_PACK -D__GNUWIN32__ -D_WIN32 -DWIN32 -D_WINDOWS -D_MBCS -D_USRDLL -c -o CBSPMeshFileLoader.o CBSPMeshFileLoader.cpp
En el fichero incluido desde ../../include/IReferenceCounted.h:8,
desde ../../include/IMeshLoader.h:8,
desde CBSPMeshFileLoader.h:8,
desde CBSPMeshFileLoader.cpp:8:
../../include/irrString.h: En el constructor ‘irr::core::string<T, TAlloc>::string(double)’:
../../include/irrTypes.h:125:18: error: no hay argumentos para ‘_snprintf’ que dependan de un parámetro de plantilla, por lo cual una declaración de ‘_snprintf’ debe estar disponible [-fpermissive]
125 | #define snprintf _snprintf
| ^~~~~~~~~
../../include/irrString.h:109:3: nota: en expansión de macro ‘snprintf’
109 | snprintf(tmpbuf, 255, "%0.6f", number);
| ^~~~~~~~
../../include/irrTypes.h:125:18: nota: (si utiliza ‘-fpermissive’, G++ aceptará su código, pero permitir el uso de un nombre sin declarar es obsoleto)
125 | #define snprintf _snprintf
| ^~~~~~~~~
../../include/irrString.h:109:3: nota: en expansión de macro ‘snprintf’
109 | snprintf(tmpbuf, 255, "%0.6f", number);
| ^~~~~~~~
En el fichero incluido desde CBSPMeshFileLoader.cpp:5:
../../include/irrXML.h: En el ámbito global:
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/irrXML.h:438:2: nota: en expansión de macro ‘IRRLICHT_API’
438 | IRRLICHT_API IrrXMLReader* IRRCALLCONV createIrrXMLReader(const char* filename);
| ^~~~~~~~~~~~
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/irrXML.h:450:2: nota: en expansión de macro ‘IRRLICHT_API’
450 | IRRLICHT_API IrrXMLReader* IRRCALLCONV createIrrXMLReader(FILE* file);
| ^~~~~~~~~~~~
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/irrXML.h:465:2: nota: en expansión de macro ‘IRRLICHT_API’
465 | IRRLICHT_API IrrXMLReader* IRRCALLCONV createIrrXMLReader(IFileReadCallBack* callback,
| ^~~~~~~~~~~~
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/irrXML.h:478:2: nota: en expansión de macro ‘IRRLICHT_API’
478 | IRRLICHT_API IrrXMLReaderUTF16* IRRCALLCONV createIrrXMLReaderUTF16(const char* filename);
| ^~~~~~~~~~~~
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/irrXML.h:490:2: nota: en expansión de macro ‘IRRLICHT_API’
490 | IRRLICHT_API IrrXMLReaderUTF16* IRRCALLCONV createIrrXMLReaderUTF16(FILE* file);
| ^~~~~~~~~~~~
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/irrXML.h:505:2: nota: en expansión de macro ‘IRRLICHT_API’
505 | IRRLICHT_API IrrXMLReaderUTF16* IRRCALLCONV createIrrXMLReaderUTF16(IFileReadCallBack* callback,
| ^~~~~~~~~~~~
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/irrXML.h:518:2: nota: en expansión de macro ‘IRRLICHT_API’
518 | IRRLICHT_API IrrXMLReaderUTF32* IRRCALLCONV createIrrXMLReaderUTF32(const char* filename);
| ^~~~~~~~~~~~
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/irrXML.h:530:2: nota: en expansión de macro ‘IRRLICHT_API’
530 | IRRLICHT_API IrrXMLReaderUTF32* IRRCALLCONV createIrrXMLReaderUTF32(FILE* file);
| ^~~~~~~~~~~~
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/irrXML.h:546:2: nota: en expansión de macro ‘IRRLICHT_API’
546 | IRRLICHT_API IrrXMLReaderUTF32* IRRCALLCONV createIrrXMLReaderUTF32(IFileReadCallBack* callback,
| ^~~~~~~~~~~~
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/matrix4.h:2238:2: nota: en expansión de macro ‘IRRLICHT_API’
2238 | IRRLICHT_API extern const matrix4 IdentityMatrix;
| ^~~~~~~~~~~~
En el fichero incluido desde ../../include/SMaterial.h:14,
desde ../../include/IVideoDriver.h:16,
desde CBSPMeshFileLoader.h:10,
desde CBSPMeshFileLoader.cpp:8:
../../include/SMaterialLayer.h: En la función miembro ‘irr::core::matrix4& irr::video::SMaterialLayer::getTextureMatrix()’:
../../include/SMaterialLayer.h:127:51: error: ‘IdentityMatrix’ no es un miembro de ‘irr::core’
127 | MatrixAllocator.construct(TextureMatrix,core::IdentityMatrix);
| ^~~~~~~~~~~~~~
../../include/SMaterialLayer.h: En la función miembro ‘const matrix4& irr::video::SMaterialLayer::getTextureMatrix() const’:
../../include/SMaterialLayer.h:139:18: error: ‘IdentityMatrix’ no es un miembro de ‘irr::core’
139 | return core::IdentityMatrix;
| ^~~~~~~~~~~~~~
En el fichero incluido desde ../../include/IVideoDriver.h:16,
desde CBSPMeshFileLoader.h:10,
desde CBSPMeshFileLoader.cpp:8:
../../include/SMaterial.h: En la función miembro ‘const matrix4& irr::video::SMaterial::getTextureMatrix(irr::u32) const’:
../../include/SMaterial.h:457:18: error: ‘IdentityMatrix’ no es un miembro de ‘irr::core’
457 | return core::IdentityMatrix;
| ^~~~~~~~~~~~~~
En el fichero incluido desde CBSPMeshFileLoader.cpp:5:
../../include/SMaterial.h: En el ámbito global:
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/SMaterial.h:680:2: nota: en expansión de macro ‘IRRLICHT_API’
680 | IRRLICHT_API extern SMaterial IdentityMaterial;
| ^~~~~~~~~~~~
En el fichero incluido desde ../../include/IBoneSceneNode.h:8,
desde ../../include/ISkinnedMesh.h:9,
desde ../../include/ISceneManager.h:21,
desde CBSPMeshFileLoader.h:11,
desde CBSPMeshFileLoader.cpp:8:
../../include/ISceneNode.h: En la función miembro ‘virtual irr::video::SMaterial& irr::scene::ISceneNode::getMaterial(irr::u32)’:
../../include/ISceneNode.h:408:18: error: ‘IdentityMaterial’ no es un miembro de ‘irr::video’
408 | return video::IdentityMaterial;
| ^~~~~~~~~~~~~~~~
En el fichero incluido desde CBSPMeshFileLoader.cpp:5:
../../include/fast_atof.h: En el ámbito global:
../../include/IrrCompileConfig.h:684:32: error: expected constructor, destructor, or type conversion before ‘(’ token
684 | #define IRRLICHT_API __declspec(dllexport)
| ^
../../include/fast_atof.h:18:2: nota: en expansión de macro ‘IRRLICHT_API’
18 | IRRLICHT_API extern irr::core::stringc LOCALE_DECIMAL_POINTS;
| ^~~~~~~~~~~~
En el fichero incluido desde ../../include/IQ3Shader.h:9,
desde CBSPMeshFileLoader.h:12,
desde CBSPMeshFileLoader.cpp:8:
../../include/fast_atof.h: En la función ‘const char* irr::core::fast_atof_move(const char*, irr::f32&)’:
../../include/fast_atof.h:323:7: error: ‘LOCALE_DECIMAL_POINTS’ no se declaró en este ámbito
323 | if ( LOCALE_DECIMAL_POINTS.findFirst(*in) >= 0 )
| ^~~~~~~~~~~~~~~~~~~~~
make: *** [<integrado>: CBSPMeshFileLoader.o] Error 1