Pardon the double post, but after giving up on both this and my own OS, I decided to just "splat" everything at the side of mingw-bin (in "/usr/i586-mingw32msvc" for Ubuntu 12.04).... screw order: And I've made more advances (I think... at least the error is another)
Now my issue is that no matter what, "make" just goes to the default OGRE folder, which is not the one it should be using, but the precompiled one... but I've found no way to tell it to check in the default dir of mingw ("/usr/i586-mingw32msvc/include" and "/usr/i586-mingw32msvc/bin"). I found there are arguments for ./configure to tell such info for some libs, Irrlicht included, but not OGRE...
How can I do that for Ogre?
EDIT: This are some of the last lines of output:
Code: Select all
Making install in Ogre
make[4]: Entering directory `/media/datos/Dev/CEGUI-0.7.7/cegui/src/RendererModules/Ogre'
/bin/bash ../../../../libtool --tag=CXX --mode=compile i586-mingw32msvc-g++ -DHAVE_CONFIG_H -I. -I../../../../cegui/include -I../../../../cegui/include -I../../../../cegui/include/RendererModules/Ogre -pthread -I/usr/local/include -I/usr/local/include/OGRE -DCEGUI_STATIC -g -O2 -MT libCEGUIOgreRenderer_la-CEGUIOgreGeometryBuffer.lo -MD -MP -MF .deps/libCEGUIOgreRenderer_la-CEGUIOgreGeometryBuffer.Tpo -c -o libCEGUIOgreRenderer_la-CEGUIOgreGeometryBuffer.lo `test -f 'CEGUIOgreGeometryBuffer.cpp' || echo './'`CEGUIOgreGeometryBuffer.cpp
libtool: compile: i586-mingw32msvc-g++ -DHAVE_CONFIG_H -I. -I../../../../cegui/include -I../../../../cegui/include -I../../../../cegui/include/RendererModules/Ogre -pthread -I/usr/local/include -I/usr/local/include/OGRE -DCEGUI_STATIC -g -O2 -MT libCEGUIOgreRenderer_la-CEGUIOgreGeometryBuffer.lo -MD -MP -MF .deps/libCEGUIOgreRenderer_la-CEGUIOgreGeometryBuffer.Tpo -c CEGUIOgreGeometryBuffer.cpp -o libCEGUIOgreRenderer_la-CEGUIOgreGeometryBuffer.o
i586-mingw32msvc-g++: unrecognized option '-pthread'
In file included from /usr/local/include/OGRE/OgreRenderTarget.h:36,
from /usr/local/include/OGRE/OgreRenderSystem.h:42,
from CEGUIOgreGeometryBuffer.cpp:33:
/usr/local/include/OGRE/OgreTimer.h:36:33: error: WIN32/OgreTimerImp.h: No such file or directory
make[4]: *** [libCEGUIOgreRenderer_la-CEGUIOgreGeometryBuffer.lo] Error 1
make[4]: Leaving directory `/media/datos/Dev/CEGUI-0.7.7/cegui/src/RendererModules/Ogre'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/media/datos/Dev/CEGUI-0.7.7/cegui/src/RendererModules'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/media/datos/Dev/CEGUI-0.7.7/cegui/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/media/datos/Dev/CEGUI-0.7.7/cegui'
make: *** [install-recursive] Error 1
After the edit, I used Ogre_CFLAGS and LIBS in the ./configure and ran... the makefile wasn't changed, so I manually changed it and ran make install. This lines are from that last run.
EDIT:
I just dropped the WIN32 file from OGRE_MINGW to the /usr/local one, and.... it compiled. Only the samples fail to compile due to -pthread and my own code due to mingw dieing saying it has a bug...
So... the formula for cross compiling seems to be:
Drop everything in the cross compiler toolchain's folder "/usr/i586-mingw32msvc/" at the moment in Ubuntu. Disable shared libraries (had to do so with CEGUI).
EDIT EDIT: Nevermind... it seems I was just able to build shared.
EDIT EDIT EDIT: All of CEGUI's output files are .a or .la while the others are .dll.a or something with .dll .... Shouldn't they have that .dll? and no .la as that's Linux's?
Aug/30 EDITx4: Ok, I've come a long way.... Ubuntu's MinGW was buggy and not supported by mingw.org themselves, so I went on with MXE... where everything is marvelous so far......
Now I was able to reach the point of compiling my project, but on linking there were 138 errors about undefined references to _imp___ZN5CEGUI7XXXXX where X is the name of a class followed by some variable or function not sure... added to the fact that the names don't coincide with how the rest of the libs are built, I have to ask:
Is the ./configure script done to correctly cross compile? I use a modified "./configure --host=i686-pc-mingw32" like instructed everywhere and still apparently only linux libs come out