无法使用Ubuntu上链接的SDL库编译文件

时间:2013-11-30 17:02:03

标签: c linker sdl

我们有一个编译链接SDL库的文件的作业。文件本身不应该包含任何错误,因为几乎每个人都设法编译它。我已经使用以下命令在Ubuntu 12.04上安装了SDL 1.2:

sudo apt-get install libsdl1.2-dev
sudo apt-get install libsdl-image1.2-dev 
sudo apt-get install libsdl-mixer1.2-dev 
sudo apt-get install libsdl-ttf2.0-dev

我正在使用以下命令编译它:

gcc -o sdl_introduction  sdl_introduction.c `sdl-config --cflags --libs`

我正在使用gcc 4.6.3
我收到了这个错误:

/usr/local/lib/libSDL.so: undefined reference to `_XGetRequest'
collect2: ld returned 1 exit status

什么可能导致问题?

1 个答案:

答案 0 :(得分:4)

我遇到了和你一样的问题,它是由SDL库引起的,需要其他库在ubuntu(或一般的linux)上链接

我建议使用以下方式进行复制:

gcc -o sdl_introduction  sdl_introduction.c -lX11 -pthread `sdl-config --cflags --libs`

注意添加的-lX11和-pthread。

编辑:

我的错,我忘了你必须在其他标志之后添加-lX11和-pthread。 导致:

gcc -o sdl_introduction  sdl_introduction.c `sdl-config --cflags --libs` -lX11 -pthread