SFML community forums

Help => General => Topic started by: ntzrmtthihu777 on April 14, 2013, 08:04:37 am

Title: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: ntzrmtthihu777 on April 14, 2013, 08:04:37 am
As the title above states.

I have successfully installed mingw's c and c++ compilers and have a fresh git clone of SFML. I get stuck at make; when it does cmake for src/SFML/Graphics it gives the following error:

CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
  Could NOT find Freetype (missing: FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-2.8/Modules/FindFreetype.cmake:83 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  src/SFML/Graphics/CMakeLists.txt:102 (find_package)
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: Laurent on April 14, 2013, 09:53:52 am
How do you specify the cross-compiling environment in CMake?
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: ntzrmtthihu777 on April 14, 2013, 10:35:59 am
with a CMake toolchain file, but I just figured out how I could do this. I just got the windows package and copied the contents of lib and include to the proper locations under /usr/i686-w64-mingw32/ and /usr/i686-w64-mingw32, I was then able to successfully compile the example pong for windows and run it via wine.

This could be useful info, perhaps I could make a tutorial for it...
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: Laurent on April 14, 2013, 10:47:49 am
What "windows package" are you talking about?
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: ntzrmtthihu777 on April 14, 2013, 11:41:03 am
The 2.0 release candidate. Also curious about static linking under mingw for windows. This post (http://en.sfml-dev.org/forums/index.php?topic=3003.0) says you cannot static link under linux, but I'm building for windows. (For informations sake I'm practicing this on the pong example), and using the -s suffixes in the mingw compile command gives me a host of errors, various undefined references.
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: Laurent on April 14, 2013, 12:40:54 pm
Quote
The 2.0 release candidate.
So you copy the /lib and /include directories of SFML into your MinGW directory, and suddenly CMake finds FreeType... and is able to compile SFML? ???
Windows builds are self contained, all the external libraries required to build SFML are provided in the source package. It works out-of-the-box.
Title: AW: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: eXpl0it3r on April 14, 2013, 12:54:29 pm
Although cross compilation is a nice idea I can't really recommend it. It might work out of the box with some libraries/applications, but you can very easily waste hours of figuring things out, where as installing a VM and building native applications will take less time and can be reused.

Static linking SFML is really simple. Just link against the -s suffix libraries and define SFML_STATIC.

Also copying the libs into the MinGW dirs is not really recommended, you should rather specify at compilation, where to find the libs (i.e. set the -L flag). ;)
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: ntzrmtthihu777 on April 14, 2013, 10:37:32 pm
Quote
The 2.0 release candidate.
So you copy the /lib and /include directories of SFML into your MinGW directory, and suddenly CMake finds FreeType... and is able to compile SFML? ???
Windows builds are self contained, all the external libraries required to build SFML are provided in the source package. It works out-of-the-box.
No. I copy them and the mingw g++ can compile the examples. Basically I took advantage of the windows build being self-contained so I could build the examples for windows.

Although cross compilation is a nice idea I can't really recommend it. It might work out of the box with some libraries/applications, but you can very easily waste hours of figuring things out, where as installing a VM and building native applications will take less time and can be reused.

Static linking SFML is really simple. Just link against the -s suffix libraries and define SFML_STATIC.

Also copying the libs into the MinGW dirs is not really recommended, you should rather specify at compilation, where to find the libs (i.e. set the -L flag). ;)

See above post, using -s gives a host of undefined references (and yes I checked the -s and -d and -s-d libs do exis where I'm pointing -L at), so I must define SFML_STATIC, how do I go about that?
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: Laurent on April 14, 2013, 11:02:17 pm
Quote
No. I copy them and the mingw g++ can compile the examples.
Your initial post mentions an error with FreeType while compiling sfml-graphics. So now why are you talking of the examples?

I'm sorry but your problem is really badly explained, you just lost me.
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: ntzrmtthihu777 on April 15, 2013, 04:08:57 am
Heh. Ok.

I was attempting to use cmake to produce a mingw makefile so I could compile sfml projects for both windows and linux from my linux machine. CMake hung at the mentioned point, so I took another approach and used the pre-compiled windows RC's lib and include files.

I then compiled Pong.cpp with mingw for windows, ran it with wine and it required the sfml dlls.
So my current conundrum is how to compile it staticly on linux for windows. using the -static flag and -sfml-part-s does not do it.
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: Laurent on April 15, 2013, 08:48:39 am
Quote
So my current conundrum is how to compile it staticly on linux for windows. using the -static flag and -sfml-part-s does not do it.
Please post the error messages.
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: ntzrmtthihu777 on April 19, 2013, 02:16:43 am
compiling with:
i686-w64-mingw32-g++ Pong.cpp -static -mwindows -L /usr/i686-w64-mingw32/lib/ -I /usr/i686-w64-mingw32/include/ -lsfml-audio-s -lsfml-graphics-s -lsfml-window-s -lsfml-system-s
yields:
Code: [Select]
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1bf): undefined reference to `__imp___ZN2sf9VideoModeC1Ejjj'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x21a): undefined reference to `__imp___ZN2sf12RenderWindowC1ENS_9VideoModeERKSsjRKNS_15ContextSettingsE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x267): undefined reference to `__imp___ZN2sf6Window22setVerticalSyncEnabledEb'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x283): undefined reference to `__imp___ZN2sf11SoundBufferC1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x2db): undefined reference to `__imp___ZN2sf11SoundBuffer12loadFromFileERKSs'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x351): undefined reference to `__imp___ZN2sf5SoundC1ERKNS_11SoundBufferE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x399): undefined reference to `__imp___ZN2sf14RectangleShapeC1ERKNS_7Vector2IfEE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x409): undefined reference to `__imp___ZN2sf14RectangleShape7setSizeERKNS_7Vector2IfEE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x42e): undefined reference to `__imp___ZN2sf5Shape19setOutlineThicknessEf'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x435): undefined reference to `__imp___ZN2sf5Color5BlackE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x448): undefined reference to `__imp___ZN2sf5Shape15setOutlineColorERKNS_5ColorE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x479): undefined reference to `__imp___ZN2sf5ColorC1Ehhhh'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x495): undefined reference to `__imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x4da): undefined reference to `__imp___ZN2sf13Transformable9setOriginERKNS_7Vector2IfEE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x517): undefined reference to `__imp___ZN2sf14RectangleShapeC1ERKNS_7Vector2IfEE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x57c): undefined reference to `__imp___ZN2sf14RectangleShape7setSizeERKNS_7Vector2IfEE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x5a1): undefined reference to `__imp___ZN2sf5Shape19setOutlineThicknessEf'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x5a8): undefined reference to `__imp___ZN2sf5Color5BlackE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x5bb): undefined reference to `__imp___ZN2sf5Shape15setOutlineColorERKNS_5ColorE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x5ec): undefined reference to `__imp___ZN2sf5ColorC1Ehhhh'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x608): undefined reference to `__imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x64d): undefined reference to `__imp___ZN2sf13Transformable9setOriginERKNS_7Vector2IfEE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x66f): undefined reference to `__imp___ZN2sf11CircleShapeC1Efj'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x693): undefined reference to `__imp___ZN2sf11CircleShape9setRadiusEf'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x6b8): undefined reference to `__imp___ZN2sf5Shape19setOutlineThicknessEf'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x6bf): undefined reference to `__imp___ZN2sf5Color5BlackE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x6d2): undefined reference to `__imp___ZN2sf5Shape15setOutlineColorERKNS_5ColorE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x6d9): undefined reference to `__imp___ZN2sf5Color5WhiteE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x6ec): undefined reference to `__imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x728): undefined reference to `__imp___ZN2sf13Transformable9setOriginEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x739): undefined reference to `__imp___ZN2sf4FontC1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x791): undefined reference to `__imp___ZN2sf4Font12loadFromFileERKSs'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x7fc): undefined reference to `__imp___ZN2sf4TextC1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x823): undefined reference to `__imp___ZN2sf4Text7setFontERKNS_4FontE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x847): undefined reference to `__imp___ZN2sf4Text16setCharacterSizeEj'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x86d): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x874): undefined reference to `__imp___ZN2sf5Color5WhiteE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x887): undefined reference to `__imp___ZN2sf4Text8setColorERKNS_5ColorE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x8ba): undefined reference to `__imp___ZN2sf6StringC1EPKcRKSt6locale'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x8e1): undefined reference to `__imp___ZN2sf4Text9setStringERKNS_6StringE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x926): undefined reference to `__imp___ZN2sf5ClockC1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x940): undefined reference to `__imp___ZN2sf7secondsEf'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x98f): undefined reference to `__imp___ZN2sf5ClockC1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x9d0): undefined reference to `__imp___ZN2sf6Window5closeEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xa2c): undefined reference to `__imp___ZN2sf5Clock7restartEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xa6f): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xaa7): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xacd): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xb67): undefined reference to `__imp___ZN2sf6Window9pollEventERNS_5EventE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xb99): undefined reference to `__imp___ZN2sf5Clock7restartEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xbc3): undefined reference to `__imp___ZNK2sf4Time9asSecondsEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xbd8): undefined reference to `__imp___ZN2sf8Keyboard12isKeyPressedENS0_3KeyE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xbf0): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xc58): undefined reference to `__imp___ZN2sf13Transformable4moveEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xc71): undefined reference to `__imp___ZN2sf8Keyboard12isKeyPressedENS0_3KeyE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xc94): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xcf9): undefined reference to `__imp___ZN2sf13Transformable4moveEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xd2e): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xd8a): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xdf9): undefined reference to `__imp___ZN2sf13Transformable4moveEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xe15): undefined reference to `__imp___ZNK2sf5Clock14getElapsedTimeEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xe44): undefined reference to `__imp___ZN2sfgtENS_4TimeES0_'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xe5d): undefined reference to `__imp___ZN2sf5Clock7restartEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xe71): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xe96): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xee1): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xf11): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xfc3): undefined reference to `__imp___ZN2sf13Transformable4moveEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0xfe2): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1037): undefined reference to `__imp___ZN2sf6StringC1EPKcRKSt6locale'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x105e): undefined reference to `__imp___ZN2sf4Text9setStringERKNS_6StringE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x10a6): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x110c): undefined reference to `__imp___ZN2sf6StringC1EPKcRKSt6locale'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1133): undefined reference to `__imp___ZN2sf4Text9setStringERKNS_6StringE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x117b): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x11ae): undefined reference to `__imp___ZN2sf5Sound4playEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x11e8): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x120d): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1221): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x125a): undefined reference to `__imp___ZN2sf5Sound4playEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x129a): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x12bf): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x12d3): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1302): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1341): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1365): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1391): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x13b6): more undefined references to `__imp___ZNK2sf13Transformable11getPositionEv' follow
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1586): undefined reference to `__imp___ZN2sf5Sound4playEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x15a5): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x15c3): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1608): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x161c): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x164b): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1688): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x16ac): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x16da): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x16ff): more undefined references to `__imp___ZNK2sf13Transformable11getPositionEv' follow
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x18cf): undefined reference to `__imp___ZN2sf5Sound4playEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x18ee): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1909): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x194b): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x197c): undefined reference to `__imp___ZN2sf5ColorC1Ehhhh'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x19a6): undefined reference to `__imp___ZN2sf12RenderTarget5clearERKNS_5ColorE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x19b7): undefined reference to `__imp___ZN2sf12RenderStates7DefaultE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x19d8): undefined reference to `__imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x19df): undefined reference to `__imp___ZN2sf12RenderStates7DefaultE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1a00): undefined reference to `__imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1a07): undefined reference to `__imp___ZN2sf12RenderStates7DefaultE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1a28): undefined reference to `__imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1a31): undefined reference to `__imp___ZN2sf12RenderStates7DefaultE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1a52): undefined reference to `__imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1a6e): undefined reference to `__imp___ZN2sf6Window7displayEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1a8a): undefined reference to `__imp___ZNK2sf6Window6isOpenEv'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1ad3): undefined reference to `__imp___ZN2sf4FontD1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1b3d): undefined reference to `__imp___ZN2sf5SoundD1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1b59): undefined reference to `__imp___ZN2sf11SoundBufferD1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1b75): undefined reference to `__imp___ZN2sf12RenderWindowD1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1be9): undefined reference to `__imp___ZN2sf12RenderWindowD1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1de2): undefined reference to `__imp___ZN2sf4FontD1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1e84): undefined reference to `__imp___ZN2sf5SoundD1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1eae): undefined reference to `__imp___ZN2sf11SoundBufferD1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text+0x1ed8): undefined reference to `__imp___ZN2sf12RenderWindowD1Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf8DrawableD2Ev[sf::Drawable::~Drawable()]+0xb): undefined reference to `__imp___ZTVN2sf8DrawableE'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf8DrawableD1Ev[sf::Drawable::~Drawable()]+0xb): undefined reference to `__imp___ZTVN2sf8DrawableE'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf14RectangleShapeD1Ev[sf::RectangleShape::~RectangleShape()]+0xb): undefined reference to `__imp___ZTVN2sf14RectangleShapeE'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf14RectangleShapeD1Ev[sf::RectangleShape::~RectangleShape()]+0x19): undefined reference to `__imp___ZTVN2sf14RectangleShapeE'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf14RectangleShapeD1Ev[sf::RectangleShape::~RectangleShape()]+0x2a): undefined reference to `__imp___ZN2sf5ShapeD2Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0xb): undefined reference to `__imp___ZTVN2sf11CircleShapeE'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0x19): undefined reference to `__imp___ZTVN2sf11CircleShapeE'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0x2a): undefined reference to `__imp___ZN2sf5ShapeD2Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf11VertexArrayD1Ev[sf::VertexArray::~VertexArray()]+0x3a): undefined reference to `__imp___ZTVN2sf11VertexArrayE'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf4TextD1Ev[sf::Text::~Text()]+0x3a): undefined reference to `__imp___ZTVN2sf4TextE'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf4TextD1Ev[sf::Text::~Text()]+0x48): undefined reference to `__imp___ZTVN2sf4TextE'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf4TextD1Ev[sf::Text::~Text()]+0x8a): undefined reference to `__imp___ZN2sf13TransformableD2Ev'
/tmp/ccMR7eim.o:Pong.cpp:(.text$_ZN2sf4TextD1Ev[sf::Text::~Text()]+0x107): undefined reference to `__imp___ZN2sf13TransformableD2Ev'
collect2: ld returned 1 exit status
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: Laurent on April 19, 2013, 07:52:03 am
Please read the tutorial ;)

i686-w64-mingw32-g++ ... -DSFML_STATIC ...
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: ntzrmtthihu777 on May 23, 2013, 03:32:49 am
Got around to trying this again (been hella busy), still same issue.
i686-w64-mingw32-g++ -c Pong.cpp -I /usr/i686-w64-mingw32/include/
followed by
i686-w64-mingw32-g++ Pong.o -o Pong.exe -static -mwindows -DSFML_SHARED -L/usr/i686-w64-mingw32/lib -lsfml-audio-s -lsfml-graphics-s -lsfml-window-s -lsfml-system-s

yields:
Code: [Select]
Pong.o:Pong.cpp:(.text+0x18d): undefined reference to `__imp___ZN2sf6StringC1EPKcRKSt6locale'
Pong.o:Pong.cpp:(.text+0x1c1): undefined reference to `__imp___ZN2sf9VideoModeC1Ejjj'
Pong.o:Pong.cpp:(.text+0x21c): undefined reference to `__imp___ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE'
Pong.o:Pong.cpp:(.text+0x269): undefined reference to `__imp___ZN2sf6Window22setVerticalSyncEnabledEb'
Pong.o:Pong.cpp:(.text+0x285): undefined reference to `__imp___ZN2sf11SoundBufferC1Ev'
Pong.o:Pong.cpp:(.text+0x2dd): undefined reference to `__imp___ZN2sf11SoundBuffer12loadFromFileERKSs'
Pong.o:Pong.cpp:(.text+0x353): undefined reference to `__imp___ZN2sf5SoundC1ERKNS_11SoundBufferE'
Pong.o:Pong.cpp:(.text+0x39b): undefined reference to `__imp___ZN2sf14RectangleShapeC1ERKNS_7Vector2IfEE'
Pong.o:Pong.cpp:(.text+0x40b): undefined reference to `__imp___ZN2sf14RectangleShape7setSizeERKNS_7Vector2IfEE'
Pong.o:Pong.cpp:(.text+0x430): undefined reference to `__imp___ZN2sf5Shape19setOutlineThicknessEf'
Pong.o:Pong.cpp:(.text+0x437): undefined reference to `__imp___ZN2sf5Color5BlackE'
Pong.o:Pong.cpp:(.text+0x44a): undefined reference to `__imp___ZN2sf5Shape15setOutlineColorERKNS_5ColorE'
Pong.o:Pong.cpp:(.text+0x47b): undefined reference to `__imp___ZN2sf5ColorC1Ehhhh'
Pong.o:Pong.cpp:(.text+0x497): undefined reference to `__imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'
Pong.o:Pong.cpp:(.text+0x4dc): undefined reference to `__imp___ZN2sf13Transformable9setOriginERKNS_7Vector2IfEE'
Pong.o:Pong.cpp:(.text+0x519): undefined reference to `__imp___ZN2sf14RectangleShapeC1ERKNS_7Vector2IfEE'
Pong.o:Pong.cpp:(.text+0x57e): undefined reference to `__imp___ZN2sf14RectangleShape7setSizeERKNS_7Vector2IfEE'
Pong.o:Pong.cpp:(.text+0x5a3): undefined reference to `__imp___ZN2sf5Shape19setOutlineThicknessEf'
Pong.o:Pong.cpp:(.text+0x5aa): undefined reference to `__imp___ZN2sf5Color5BlackE'
Pong.o:Pong.cpp:(.text+0x5bd): undefined reference to `__imp___ZN2sf5Shape15setOutlineColorERKNS_5ColorE'
Pong.o:Pong.cpp:(.text+0x5ee): undefined reference to `__imp___ZN2sf5ColorC1Ehhhh'
Pong.o:Pong.cpp:(.text+0x60a): undefined reference to `__imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'
Pong.o:Pong.cpp:(.text+0x64f): undefined reference to `__imp___ZN2sf13Transformable9setOriginERKNS_7Vector2IfEE'
Pong.o:Pong.cpp:(.text+0x671): undefined reference to `__imp___ZN2sf11CircleShapeC1Efj'
Pong.o:Pong.cpp:(.text+0x695): undefined reference to `__imp___ZN2sf11CircleShape9setRadiusEf'
Pong.o:Pong.cpp:(.text+0x6ba): undefined reference to `__imp___ZN2sf5Shape19setOutlineThicknessEf'
Pong.o:Pong.cpp:(.text+0x6c1): undefined reference to `__imp___ZN2sf5Color5BlackE'
Pong.o:Pong.cpp:(.text+0x6d4): undefined reference to `__imp___ZN2sf5Shape15setOutlineColorERKNS_5ColorE'
Pong.o:Pong.cpp:(.text+0x6db): undefined reference to `__imp___ZN2sf5Color5WhiteE'
Pong.o:Pong.cpp:(.text+0x6ee): undefined reference to `__imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'
Pong.o:Pong.cpp:(.text+0x72a): undefined reference to `__imp___ZN2sf13Transformable9setOriginEff'
Pong.o:Pong.cpp:(.text+0x73b): undefined reference to `__imp___ZN2sf4FontC1Ev'
Pong.o:Pong.cpp:(.text+0x793): undefined reference to `__imp___ZN2sf4Font12loadFromFileERKSs'
Pong.o:Pong.cpp:(.text+0x7fe): undefined reference to `__imp___ZN2sf4TextC1Ev'
Pong.o:Pong.cpp:(.text+0x825): undefined reference to `__imp___ZN2sf4Text7setFontERKNS_4FontE'
Pong.o:Pong.cpp:(.text+0x849): undefined reference to `__imp___ZN2sf4Text16setCharacterSizeEj'
Pong.o:Pong.cpp:(.text+0x86f): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
Pong.o:Pong.cpp:(.text+0x876): undefined reference to `__imp___ZN2sf5Color5WhiteE'
Pong.o:Pong.cpp:(.text+0x889): undefined reference to `__imp___ZN2sf4Text8setColorERKNS_5ColorE'
Pong.o:Pong.cpp:(.text+0x8bc): undefined reference to `__imp___ZN2sf6StringC1EPKcRKSt6locale'
Pong.o:Pong.cpp:(.text+0x8e3): undefined reference to `__imp___ZN2sf4Text9setStringERKNS_6StringE'
Pong.o:Pong.cpp:(.text+0x928): undefined reference to `__imp___ZN2sf5ClockC1Ev'
Pong.o:Pong.cpp:(.text+0x942): undefined reference to `__imp___ZN2sf7secondsEf'
Pong.o:Pong.cpp:(.text+0x991): undefined reference to `__imp___ZN2sf5ClockC1Ev'
Pong.o:Pong.cpp:(.text+0x9d2): undefined reference to `__imp___ZN2sf6Window5closeEv'
Pong.o:Pong.cpp:(.text+0xa2e): undefined reference to `__imp___ZN2sf5Clock7restartEv'
Pong.o:Pong.cpp:(.text+0xa71): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
Pong.o:Pong.cpp:(.text+0xaa9): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
Pong.o:Pong.cpp:(.text+0xacf): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
Pong.o:Pong.cpp:(.text+0xb69): undefined reference to `__imp___ZN2sf6Window9pollEventERNS_5EventE'
Pong.o:Pong.cpp:(.text+0xb9b): undefined reference to `__imp___ZN2sf5Clock7restartEv'
Pong.o:Pong.cpp:(.text+0xbc5): undefined reference to `__imp___ZNK2sf4Time9asSecondsEv'
Pong.o:Pong.cpp:(.text+0xbda): undefined reference to `__imp___ZN2sf8Keyboard12isKeyPressedENS0_3KeyE'
Pong.o:Pong.cpp:(.text+0xbf2): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0xc5a): undefined reference to `__imp___ZN2sf13Transformable4moveEff'
Pong.o:Pong.cpp:(.text+0xc73): undefined reference to `__imp___ZN2sf8Keyboard12isKeyPressedENS0_3KeyE'
Pong.o:Pong.cpp:(.text+0xc96): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0xcfb): undefined reference to `__imp___ZN2sf13Transformable4moveEff'
Pong.o:Pong.cpp:(.text+0xd30): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0xd8c): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0xdfb): undefined reference to `__imp___ZN2sf13Transformable4moveEff'
Pong.o:Pong.cpp:(.text+0xe17): undefined reference to `__imp___ZNK2sf5Clock14getElapsedTimeEv'
Pong.o:Pong.cpp:(.text+0xe46): undefined reference to `__imp___ZN2sfgtENS_4TimeES0_'
Pong.o:Pong.cpp:(.text+0xe5f): undefined reference to `__imp___ZN2sf5Clock7restartEv'
Pong.o:Pong.cpp:(.text+0xe73): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0xe98): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0xee3): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0xf13): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0xfc5): undefined reference to `__imp___ZN2sf13Transformable4moveEff'
Pong.o:Pong.cpp:(.text+0xfe4): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x1039): undefined reference to `__imp___ZN2sf6StringC1EPKcRKSt6locale'
Pong.o:Pong.cpp:(.text+0x1060): undefined reference to `__imp___ZN2sf4Text9setStringERKNS_6StringE'
Pong.o:Pong.cpp:(.text+0x10a8): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x110e): undefined reference to `__imp___ZN2sf6StringC1EPKcRKSt6locale'
Pong.o:Pong.cpp:(.text+0x1135): undefined reference to `__imp___ZN2sf4Text9setStringERKNS_6StringE'
Pong.o:Pong.cpp:(.text+0x117d): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x11b0): undefined reference to `__imp___ZN2sf5Sound4playEv'
Pong.o:Pong.cpp:(.text+0x11ea): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x120f): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
Pong.o:Pong.cpp:(.text+0x1223): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x125c): undefined reference to `__imp___ZN2sf5Sound4playEv'
Pong.o:Pong.cpp:(.text+0x129c): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x12c1): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
Pong.o:Pong.cpp:(.text+0x12d5): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x1304): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x1343): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x1367): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x1393): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x13b8): more undefined references to `__imp___ZNK2sf13Transformable11getPositionEv' follow
Pong.o:Pong.cpp:(.text+0x1588): undefined reference to `__imp___ZN2sf5Sound4playEv'
Pong.o:Pong.cpp:(.text+0x15a7): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x15c5): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x160a): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
Pong.o:Pong.cpp:(.text+0x161e): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x164d): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x168a): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x16ae): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x16dc): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x1701): more undefined references to `__imp___ZNK2sf13Transformable11getPositionEv' follow
Pong.o:Pong.cpp:(.text+0x18d1): undefined reference to `__imp___ZN2sf5Sound4playEv'
Pong.o:Pong.cpp:(.text+0x18f0): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x190b): undefined reference to `__imp___ZNK2sf13Transformable11getPositionEv'
Pong.o:Pong.cpp:(.text+0x194d): undefined reference to `__imp___ZN2sf13Transformable11setPositionEff'
Pong.o:Pong.cpp:(.text+0x197e): undefined reference to `__imp___ZN2sf5ColorC1Ehhhh'
Pong.o:Pong.cpp:(.text+0x19a8): undefined reference to `__imp___ZN2sf12RenderTarget5clearERKNS_5ColorE'
Pong.o:Pong.cpp:(.text+0x19b9): undefined reference to `__imp___ZN2sf12RenderStates7DefaultE'
Pong.o:Pong.cpp:(.text+0x19da): undefined reference to `__imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
Pong.o:Pong.cpp:(.text+0x19e1): undefined reference to `__imp___ZN2sf12RenderStates7DefaultE'
Pong.o:Pong.cpp:(.text+0x1a02): undefined reference to `__imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
Pong.o:Pong.cpp:(.text+0x1a09): undefined reference to `__imp___ZN2sf12RenderStates7DefaultE'
Pong.o:Pong.cpp:(.text+0x1a2a): undefined reference to `__imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
Pong.o:Pong.cpp:(.text+0x1a33): undefined reference to `__imp___ZN2sf12RenderStates7DefaultE'
Pong.o:Pong.cpp:(.text+0x1a54): undefined reference to `__imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
Pong.o:Pong.cpp:(.text+0x1a70): undefined reference to `__imp___ZN2sf6Window7displayEv'
Pong.o:Pong.cpp:(.text+0x1a8c): undefined reference to `__imp___ZNK2sf6Window6isOpenEv'
Pong.o:Pong.cpp:(.text+0x1ad5): undefined reference to `__imp___ZN2sf4FontD1Ev'
Pong.o:Pong.cpp:(.text+0x1b3f): undefined reference to `__imp___ZN2sf5SoundD1Ev'
Pong.o:Pong.cpp:(.text+0x1b5b): undefined reference to `__imp___ZN2sf11SoundBufferD1Ev'
Pong.o:Pong.cpp:(.text+0x1b77): undefined reference to `__imp___ZN2sf12RenderWindowD1Ev'
Pong.o:Pong.cpp:(.text+0x1beb): undefined reference to `__imp___ZN2sf12RenderWindowD1Ev'
Pong.o:Pong.cpp:(.text+0x1de4): undefined reference to `__imp___ZN2sf4FontD1Ev'
Pong.o:Pong.cpp:(.text+0x1e86): undefined reference to `__imp___ZN2sf5SoundD1Ev'
Pong.o:Pong.cpp:(.text+0x1eb0): undefined reference to `__imp___ZN2sf11SoundBufferD1Ev'
Pong.o:Pong.cpp:(.text+0x1eda): undefined reference to `__imp___ZN2sf12RenderWindowD1Ev'
Pong.o:Pong.cpp:(.text$_ZN2sf8DrawableD2Ev[sf::Drawable::~Drawable()]+0xb): undefined reference to `__imp___ZTVN2sf8DrawableE'
Pong.o:Pong.cpp:(.text$_ZN2sf8DrawableD1Ev[sf::Drawable::~Drawable()]+0xb): undefined reference to `__imp___ZTVN2sf8DrawableE'
Pong.o:Pong.cpp:(.text$_ZN2sf14RectangleShapeD1Ev[sf::RectangleShape::~RectangleShape()]+0xb): undefined reference to `__imp___ZTVN2sf14RectangleShapeE'
Pong.o:Pong.cpp:(.text$_ZN2sf14RectangleShapeD1Ev[sf::RectangleShape::~RectangleShape()]+0x19): undefined reference to `__imp___ZTVN2sf14RectangleShapeE'
Pong.o:Pong.cpp:(.text$_ZN2sf14RectangleShapeD1Ev[sf::RectangleShape::~RectangleShape()]+0x2a): undefined reference to `__imp___ZN2sf5ShapeD2Ev'
Pong.o:Pong.cpp:(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0xb): undefined reference to `__imp___ZTVN2sf11CircleShapeE'
Pong.o:Pong.cpp:(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0x19): undefined reference to `__imp___ZTVN2sf11CircleShapeE'
Pong.o:Pong.cpp:(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0x2a): undefined reference to `__imp___ZN2sf5ShapeD2Ev'
Pong.o:Pong.cpp:(.text$_ZN2sf11VertexArrayD1Ev[sf::VertexArray::~VertexArray()]+0x3a): undefined reference to `__imp___ZTVN2sf11VertexArrayE'
Pong.o:Pong.cpp:(.text$_ZN2sf4TextD1Ev[sf::Text::~Text()]+0x3a): undefined reference to `__imp___ZTVN2sf4TextE'
Pong.o:Pong.cpp:(.text$_ZN2sf4TextD1Ev[sf::Text::~Text()]+0x48): undefined reference to `__imp___ZTVN2sf4TextE'
Pong.o:Pong.cpp:(.text$_ZN2sf4TextD1Ev[sf::Text::~Text()]+0x8a): undefined reference to `__imp___ZN2sf13TransformableD2Ev'
Pong.o:Pong.cpp:(.text$_ZN2sf4TextD1Ev[sf::Text::~Text()]+0x107): undefined reference to `__imp___ZN2sf13TransformableD2Ev'
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: Laurent on May 23, 2013, 08:04:53 am
Macros are compile options, not link options. You must pass -DSFML_STATIC to the first line.
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: ntzrmtthihu777 on May 24, 2013, 07:36:17 pm
hmm. switching the -DSFML_STATIC to the compile option gives what appears to be identical output on the second command.
(let us note that the mingw-g++ -c etc command does produce a *.o file, and returns no errors. its the second command that foobars)
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: Laurent on May 24, 2013, 09:55:21 pm
Quote
let us note that the mingw-g++ -c etc command does produce a *.o file, and returns no errors. its the second command that foobars
Yes, but the linker fails because the compiler generates the wrong function names. Because it fails at linker stage doesn't mean that it's the linker command line which is wrong.

I don't know what to else say, it should have solved the problem. Make sure that you clean your project ("make clean") and retry.
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: ntzrmtthihu777 on May 29, 2013, 09:24:33 am
Not using make, as the above commands show. just working at Pong.cpp using terminal tools. Either way I got fed up with working on it and set up a dev environment in a windows xp virtual box, lol.
Title: Re: Compiling SFML with mingw under Ubuntu to be able to cross-compile for windows.
Post by: pierre on May 28, 2017, 03:07:19 pm
Hi!
I don't know how to cross-compile in ubuntu, but here is what I did to cross-compile in Fedora26. Cross compiling libs is a very usefull thing, as the minGW version installed with linux do not match the one for provided libs. worse, when mixing various libs, finding compatible pre-compiled version is always a headache.

1) INSTALL DEPENDANCIES
As root run:
BIT=32
dnf -y install mingw$BIT-gcc
dnf -y install mingw$BIT-winpthreads-static mingw$BIT-winpthreads
dnf -y install mingw$BIT-libjpeg-turbo-static mingw$BIT-libjpeg-turbo
dnf -y install mingw$BIT-openal-soft
dnf -y install mingw$BIT-libvorbis
dnf -y install mingw$BIT-libogg
dnf -y install mingw$BIT-flac
updatedb

2) Download and compile

VERSION=2.4.2
CMAKE=mingw32-cmake
MAKE=mingw32-make

wget https://www.sfml-dev.org/files/SFML-$VERSION-sources.zip
unzip SFML-$VERSION-sources.zip
mkdir SFML-$VERSION-build

cd SFML-$VERSION
$CMAKE
$MAKE clean
$MAKE
$MAKE install DESTDIR=../SFML-$VERSION-build