Cross compiling. Linux to Windows

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
hokan
Posts: 21
Joined: Sat Dec 15, 2012 8:49 am
Location: Russia

Cross compiling. Linux to Windows

Post by hokan »

Hello, everyone

I'm using NetBeans 7.2b and trying to compile Irrlicht.dll for win32 with MinGW.
I've read some threads on forum like http://irrlicht.sourceforge.net/forum/v ... p?p=199069 (3rd post) & http://irrlicht.sourceforge.net/forum/v ... p?p=202098 but still getting problems.

Using hybrid advice from second thread compile Irrlicht with "CXX=i586-mingw32msvc-g++ CC=i586-mingw32msvc-gcc make all_win32" instructions. "make" creating Irrlicht.dll in /Win32-gcc/, but than failed with lots of errors: (just piece, too many lines)

CGUIMenu.o:(.rodata._ZTCN3irr3gui8CGUIMenuE0_NS0_15CGUIContextMenuE[_ZTVN3irr3gui8CGUIMenuE]+0xfc): undefined reference to `_ZN3irr3gui15CGUIContextMenu9sendClickERKNS_4core8vector2dIiEE'
CGUIMenu.o:(.rodata._ZTCN3irr3gui8CGUIMenuE0_NS0_15CGUIContextMenuE[_ZTVN3irr3gui8CGUIMenuE]+0x120): undefined reference to `_ZTv0_n16_NK3irr3gui15CGUIContextMenu19serializeAttributesEPNS_2io11IAttributesEPNS2_26SAttributeReadWriteOptionsE'
CGUIMenu.o:(.rodata._ZTCN3irr3gui8CGUIMenuE0_NS0_15CGUIContextMenuE[_ZTVN3irr3gui8CGUIMenuE]+0x140): undefined reference to `_ZTv0_n12_N3irr3gui15CGUIContextMenuD0Ev'

Using advice from first thread change tutorial make file, it's successfully compiled, but has no dll to execute (as predicted), adding VisualStudio dll doesn't help (obvious, but why not try?)

P.S
side cross compiling Q. - where can I get debugger for non-Irrlicht win32 apps.?, default gdb doesn't work
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Cross compiling. Linux to Windows

Post by hybrid »

Which are the first error messages and what command line options are used in this call?
hokan
Posts: 21
Joined: Sat Dec 15, 2012 8:49 am
Location: Russia

Re: Cross compiling. Linux to Windows

Post by hokan »

Cannot export BZ2_blockSort: symbol not found
Cannot export BZ2_bsInitWrite: symbol not found
Cannot export BZ2_bzBuffToBuffCompress: symbol not found

using this command line options in /irrlicht-1.8/source/Irrlicht/ , when try to compile shared lib.:
CXX=i586-mingw32msvc-g++ CC=i586-mingw32msvc-gcc make all_win32
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Cross compiling. Linux to Windows

Post by hybrid »

Maybe try directly from shell, without netbeans. And please post the full log, with all messages before the warning as well. Looks like the compiler has some problems maybe with some other lib.
hokan
Posts: 21
Joined: Sat Dec 15, 2012 8:49 am
Location: Russia

Re: Cross compiling. Linux to Windows

Post by hokan »

That error messages I got from shell already, not using NB.
All stuff. "text" is make instructions, at that time Irrlicht.dll sucessfully created, than "error", stderr out, appears and Irrlicht.dll deleted
http://www.filedropper.com/irrlicht
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Cross compiling. Linux to Windows

Post by hybrid »

I guess you have the old .o files in your directory. Better don't use the same directory for Linux and Windows compiles. Instead, download a fresh copy of Irricht, unzip, and cross-compile there.
hokan
Posts: 21
Joined: Sat Dec 15, 2012 8:49 am
Location: Russia

Re: Cross compiling. Linux to Windows

Post by hokan »

Hell yes, you were right!
But, I got new errors, they're about MinGW and I can't solve them:
// that happens after I got Irrlicht.a in /lib/Win32-gcc/

/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/libstdc++.a(stubs.o):(.text+0x160): multiple definition of `_powf'
COgreMeshFileLoader.o:/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:601: first defined here
collect2: ld returned 1 exit status
make: *** [../../bin/Win32-gcc/Irrlicht.dll] Ошибка 1

It's seems I should add some flag about multiple definitions, but I don't know what exactly
// still using console
Last edited by hokan on Thu Jan 03, 2013 7:37 pm, edited 1 time in total.
hokan
Posts: 21
Joined: Sat Dec 15, 2012 8:49 am
Location: Russia

Re: Cross compiling. Linux to Windows

Post by hokan »

Recently I tried to comlipe Win32-gcc libs for previous Irrlicht engine versions, still wrong.
Found on forums - http://irrlicht.sourceforge.net/forum/v ... p?p=199069 - 4th post. That error so old.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Cross compiling. Linux to Windows

Post by hybrid »

But this really seems to be a package problem, because it does not occur with windows mingw. Not sure if CuteAlien can debug this case and find some ifdef to properly include in this situation as well.
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Cross compiling. Linux to Windows

Post by CuteAlien »

Ow, I haven't tried cross-compiling in years... (and failed back then).
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Post Reply