LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Attempting to Cross-compile SDL_image with mingw on a linux host (https://www.linuxquestions.org/questions/programming-9/attempting-to-cross-compile-sdl_image-with-mingw-on-a-linux-host-786537/)

Eupator 02-02-2010 05:09 PM

Attempting to Cross-compile SDL_image with mingw on a linux host
 
Hi all,

I've written a few applications with SDL, and recently I've taken interest in porting them to win32 via mingw, hosted on my Slackware laptop.

I downloaded and installed mingw to my home directory, and I also downloaded the mingw32 SDL development pacakge ("SDL-devel-1.2.14-mingw32.tar.gz") from the SDL website. After installing it with proper prefixes, I can compile SDL programs with mingw and run them on a Windows box.

However, I'm having less luck with programs that use both SDL and SDL_image. There's no mingw32 development package on the SDL_image site as there is on the SDL site, so I'm a bit confused on how to proceed.

Should I download the source package and compile it with mingw? If so, how? The typical ./configure, make, make install uses gcc, not i686-pc-mingw-gcc, and attempting to specify it causes the configure script to complain that the compiler doesn't create valid binaries.

I've tried compiling with gcc and setting the prefixes to my mingw installation; I'm getting no luck with that, and I suspect it's the wrong road to take.

I would greatly appreciate any hints.

Thanks,
Eupator

smeezekitty 02-02-2010 06:21 PM

Download the visual C SDL image dev-kit.

Eupator 02-03-2010 07:12 AM

Quote:

Originally Posted by smeezekitty (Post 3850159)
Download the visual C SDL image dev-kit.

Could you elaborate? I downloaded SDL_image-devel-1.2.10-VC.zip from http://www.libsdl.org/projects/SDL_image/ . I tried compiling it with gcc and installing to my mingw directory, but cross compiling still fails:

Code:

$ /home/me/mingw32/usr/bin/i686-pc-mingw32-gcc -o SDL_test.exe main.c `/home/me/mingw32/bin/sdl-config --cflags --libs` -lSDL_image
/tmp/cc8ukDpN.o:main.c:(.text+0x1a): undefined reference to `_IMG_Load'
collect2: ld returned 1 exit status

main.c contains only:

Code:

#include<stdio.h>
#include"SDL/SDL.h"
#include"SDL/SDL_image.h"

int main(int argc,char *argv[])
{
        SDL_Surface *s;
        printf("Hello, world!\n");
        s=IMG_Load("test.png");
        return;
}

Any ideas?

smeezekitty 02-03-2010 12:57 PM

http://jcatki.no-ip.org:8080/SDL_ima...age.html#SEC13

Eupator 02-03-2010 03:47 PM

Quote:

Originally Posted by smeezekitty (Post 3851127)

This returns the same error during linkage, with the name of one function replaced with another.

Code:

/tmp/ccMdPNbq.o:main.c:(.text+0x3a): undefined reference to `_IMG_LoadTyped_RW'
collect2: ld returned 1 exit status

Any other ideas?

smeezekitty 02-03-2010 04:33 PM

Add the flag -lSDLimage (or was it -lSDLImage) to the compiler / linker command line.

Eupator 02-03-2010 05:03 PM

Quote:

Originally Posted by smeezekitty (Post 3851414)
Add the flag -lSDLimage (or was it -lSDLImage) to the compiler / linker command line.

I've been linking with -lSDL_image. Neither of the above libraries exist.


All times are GMT -5. The time now is 08:12 PM.