SDL Addon Libraries not Linking Correctly

I tried to link SDL_mixer, SDL_ttf, and SDL_image to my project, but for some reason, these errors pop up when compiling my code. The header files that I included depend on the libraries above it. I linked to my library in this order:

MinGW32 OpenGL32 SDLmain SDL SDL_image SDL_ttf SDL_mixer

#include <map>
#include <string>
#include <sstream>
#include <fstream>
#include <iostream>
#include <GL/gl.h>
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_mixer.h>
#include <SDL/SDL_ttf.h>

using namespace std;

#include "include_file.h"
#include "structure.h"
#include "player.h"
#include "healthclass.h"
#include "items.h"
#include "loadfiles.h"
#include "init_game.h"
#include "missions.h"

Then the error:

obj\Release\main.o:main.cpp:(.text+0x16e): undefined reference to `Mix_LoadMUS'
obj\Release\main.o:main.cpp:(.text+0x197): undefined reference to `Mix_LoadWAV_RW'
obj\Release\main.o:main.cpp:(.text+0x1c0): undefined reference to `Mix_LoadWAV_RW'
obj\Release\main.o:main.cpp:(.text+0x1e9): undefined reference to `Mix_LoadWAV_RW'
obj\Release\main.o:main.cpp:(.text+0x7cd): undefined reference to `IMG_Load'
obj\Release\main.o:main.cpp:(.text+0x996): undefined reference to `TTF_RenderUTF8_Shaded'
obj\Release\main.o:main.cpp:(.text+0x20ca): undefined reference to `Mix_CloseAudio'
obj\Release\main.o:main.cpp:(.text+0x20cf): undefined reference to `TTF_Quit'
obj\Release\main.o:main.cpp:(.text+0x2f7b): undefined reference to `IMG_Load'
obj\Release\main.o:main.cpp:(.text+0x3788): undefined reference to `TTF_Init'
obj\Release\main.o:main.cpp:(.text+0x37ac): undefined reference to `Mix_OpenAudio'
obj\Release\main.o:main.cpp:(.text+0x3914): undefined reference to `TTF_OpenFont'
obj\Release\main.o:main.cpp:(.text+0x3983): undefined reference to `Mix_PlayMusic'
obj\Release\main.o:main.cpp:(.text+0x61f0): undefined reference to `Mix_PlayChannelTimed'
obj\Release\main.o:main.cpp:(.text+0x6330): undefined reference to `Mix_Playing'

Answers


I found out that I was trying to compile a 32bit version of SDL with a 64bit version of SDL_image, SDL_mixer, and SDL_ttf. So, when you are installing the add-on library, use the x86 folder instead of the x64 folder when installing the library files. It doesn't matter if you have a 64bit computer, if SDL is 32bit then use the x86 lib folder, unless you know what you're doing, which I didn't.


Need Your Help

How to force WCF client to send client certificate?

wcf https certificate ssl

I'm trying to access a publicly-hosted SOAP web service (not WCF) over https, and I'm getting an error that I've never seen before. First, here are the facts:

applyBlurWithRadius working on iPhone 6, not 6+ (UIImage+ImageEffects)

objective-c uiimage ios8

I'm using Apple's UIImage+ImageEffects category from WWDC (2013?)

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.