Under Linux/Mint, I'm trying to compile this source code here.
I got a lot of "undefined reference to Xxx
" so after googling for a while, here are all the things I've installed:
sudo apt-get install libboost-all-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-net1.2-dev
sudo apt-get install libsdl-ttf2.0-dev libspeexdsp-dev libzzip-dev
sudo apt-get install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev
sudo apt-get install libsdl-mixer1.2-dev libsdl2-dev libsdl2-mixer-dev libsdl2-image-dev
After this, when I try to launch make
I still get tons of undefined reference
:
.....blabla..........
font.cpp:(.text+0x388): undefined reference to `TTF_RenderUNICODE_Blended'
font.cpp:(.text+0x3ec): undefined reference to `SDL_UpperBlit'
font.cpp:(.text+0x3f8): undefined reference to `SDL_FreeSurface'
font.cpp:(.text+0x42a): undefined reference to `TTF_RenderUNICODE_Blended'
font.cpp:(.text+0x488): undefined reference to `SDL_UpperBlit'
font.cpp:(.text+0x494): undefined reference to `SDL_FreeSurface'
font.o: In function `Font::getWidth(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)':
font.cpp:(.text+0x566): undefined reference to `TTF_SizeUNICODE'
font.o: In function `Font::getWidth(wchar_t)':
font.cpp:(.text+0x5cc): undefined reference to `TTF_GlyphMetrics'
font.o: In function `Font::getHeight(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)':
font.cpp:(.text+0x634): undefined reference to `TTF_SizeUNICODE'
font.o: In function `Font::getSize(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, int&, int&)':
font.cpp:(.text+0x691): undefined reference to `TTF_SizeUNICODE'
topscores.o: In function `ScoresWindow::ScoresWindow(int, int, TopScores*, int)':
topscores.cpp:(.text+0xc85): undefined reference to `SDL_SetClipRect'
topscores.cpp:(.text+0xce9): undefined reference to `SDL_SetClipRect'
sound.o: In function `Sound::Sound()':
sound.cpp:(.text+0x48): undefined reference to `Mix_OpenAudio'
sound.o: In function `Sound::~Sound()':
sound.cpp:(.text+0xd1): undefined reference to `Mix_CloseAudio'
sound.cpp:(.text+0x128): undefined reference to `Mix_FreeChunk'
sound.cpp:(.text+0x140): undefined reference to `Mix_CloseAudio'
sound.o: In function `Sound::play(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)':
sound.cpp:(.text+0x269): undefined reference to `SDL_RWFromMem'
sound.cpp:(.text+0x276): undefined reference to `Mix_LoadWAV_RW'
sound.cpp:(.text+0x2d5): undefined reference to `Mix_VolumeChunk'
sound.cpp:(.text+0x2f0): undefined reference to `Mix_PlayChannelTimed'
sound.cpp:(.text+0x2f5): undefined reference to `SDL_PumpEvents'
collect2: error: ld returned 1 exit status
Makefile:52: recipe for target 'einstein' failed
make: *** [einstein] Error 1
Watching the Makefile (which is quite easy to understand), when I launch sdl-config --libs
I get -L/usr/lib/x86_64-linux-gnu -lSDL
If I do ls -alh /usr/lib/x86_64-linux-gnu
I get tons of file (i.e. this directory exists)
What am I missing?