我们有一个编译链接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
什么可能导致问题?
答案 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