使用链接linux编译GLFW应用程序问题

时间:2015-12-17 17:13:40

标签: c++ linux gcc glfw

所以基本上我正在编译使用GLFW的程序

现在我使用此命令

成功编译它
gcc -o myprog glfw.c `pkg-config --static --libs glfw3`

然而我想知道的是我如何只使用-l选项

来编译它

我尝试了许多网站提供的描述,每次都有链接器DSO错误,我不知道如何解决它

这是我尝试的最新版本

pkg-config --print-requires --print-requires-private glfw3 
x11
xrandr
xinerama
xi
xxf86vm
xcursor
gl
尝试使用这些链接选项后

gcc -o myprog glfw.c -lglfw3 -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor -lGL

/usr/bin/ld: //usr/local/lib/libglfw3.a(glx_context.c.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

这就是我得到的错误,我不知道如何解决它

1 个答案:

答案 0 :(得分:5)

没关系,我让它使用这些链接器选项

gcc glfw.c -lglfw3 -lGL -lm -ldl -lXinerama -lXrandr -lXi -lXcursor -lX11 -lXxf86vm -lpthread