Я пошел, чтобы скомпилировать мой проект, который использует SDL, SDL_ttf, OpenAL и GTK.Все из которых выводят ошибки, подобные следующим:
TxtFunc.cpp:(.text+0x61): undefined reference to `TTF_OpenFont'
TxtFunc.cpp:(.text+0x8c): undefined reference to `TTF_RenderText_Solid'
TxtFunc.cpp:(.text+0xf6): undefined reference to `SDL_UpperBlit'
TxtFunc.cpp:(.text+0x108): undefined reference to `TTF_CloseFont'
TxtFunc.cpp:(.text+0x114): undefined reference to `SDL_FreeSurface'
для каждого вызова библиотеки.Я компилирую со следующими параметрами ссылки:
sdl-config --libs
pkg-config gtk+-2.0 --libs
pkg-config openal --libs
-lalut -lSDL_ttf
У меня установлены все эти пакеты, и не найдено ни одного "файла, который не найден"ошибки.Просто много неопределенных ссылок ... Это не имело смысла, поэтому я написал быстрое тестовое приложение:
#include "SDL/SDL.h"
int main()
{
SDL_Init(SDL_INIT_VIDEO);
return 0;
}
и скомпилировал так:
g++ `sdl-config --libs --cflags` -o sdl-test ./sdl-test.cpp
У меня естьдаже попытался связать напрямую с "/usr/lib/libSDL-1.2.so.0" или "/usr/lib/libSDL.a" вместо
, все эти опции заканчиваются тем же выводом:
/tmp/cc05XT8U.o: In function `main':
sdl-test.cpp:(.text+0xa): undefined reference to `SDL_Init'
collect2: ld returned 1 exit status
У кого-нибудь есть идеи?