C 与Ubuntu下的SDL和OpenGL链接
我想写一个简单的SDL OpenGL应用程序,代码块是我使用的IDE。 当我创建一个新的OpenGL项目时,它可以很好地编译,但是如果我尝试使用SDL头中的函数,就会出现未定义引用错误。另一个方向也是如此,如果我创建了一个新的SDL项目,我可以毫无问题地使用SDL函数,但是我得到了OpenGL函数的一个未定义的引用错误 注: 我使用Ubuntu 11.10 我已经安装了SDL和OpenGL软件包C 与Ubuntu下的SDL和OpenGL链接,c,opengl,sdl,codeblocks,C,Opengl,Sdl,Codeblocks,我想写一个简单的SDL OpenGL应用程序,代码块是我使用的IDE。 当我创建一个新的OpenGL项目时,它可以很好地编译,但是如果我尝试使用SDL头中的函数,就会出现未定义引用错误。另一个方向也是如此,如果我创建了一个新的SDL项目,我可以毫无问题地使用SDL函数,但是我得到了OpenGL函数的一个未定义的引用错误 注: 我使用Ubuntu 11.10 我已经安装了SDL和OpenGL软件包 您需要添加正确的库。标题只是给编译器一种索引。但是您需要告诉链接器实际要拉入哪些库。您应该在“生成设
您需要添加正确的库。标题只是给编译器一种索引。但是您需要告诉链接器实际要拉入哪些库。您应该在“生成设置”中找到链接器选项。SDL+OpenGL需要以下库 libGL.so-lGL链接器开关 libSDL.so-lSDL链接器开关
您可能还需要libGLU。因此,如果您使用的是glu…函数。您需要添加正确的库。标题只是给编译器一种索引。但是您需要告诉链接器实际要拉入哪些库。您应该在“生成设置”中找到链接器选项。SDL+OpenGL需要以下库 libGL.so-lGL链接器开关 libSDL.so-lSDL链接器开关
您可能还需要libGLU.so,如果您使用的是glu…函数。对于获取编译和链接SDL和Mesa的GL+glu所需的特定标志和选项,最好是询问pkg config。某些GL实现可能不提供.pc文件,但仍应在可用的情况下使用它们。询问pkg配置是获取编译和链接SDL和Mesa GL+GLU所需的特定标志和选项的首选方法。某些GL实现可能没有提供.pc文件,但在可用的情况下仍应使用它们。我不知道代码块。也就是说,如果它有添加链接器和/或编译器标志的位置,则将所有-l、-l和-I标志从一个项目复制到另一个项目。在OpenGL项目设置的某个地方,您可能会发现类似这样的东西-lglut-lGL-lGLU。-l标志指示要链接的库。L将目录添加到这些库的搜索路径中-我将目录添加到编译器搜索包含的头的位置,但听起来这不是你的问题。我不知道代码块。也就是说,如果它有添加链接器和/或编译器标志的位置,则将所有-l、-l和-I标志从一个项目复制到另一个项目。在OpenGL项目设置的某个地方,您可能会发现类似这样的东西-lglut-lGL-lGLU。-l标志指示要链接的库。L将目录添加到这些库的搜索路径中-我将目录添加到编译器搜索包含的头的位置,但听起来这不是您的问题。