Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 与Ubuntu下的SDL和OpenGL链接_C_Opengl_Sdl_Codeblocks - Fatal编程技术网

C 与Ubuntu下的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应用程序,代码块是我使用的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将目录添加到这些库的搜索路径中-我将目录添加到编译器搜索包含的头的位置,但听起来这不是您的问题。