对 glutInit 的不明引用

unidentified reference to glutInit

我试图编译一个基本的 OpenGL 程序,只是一片空白 window。 我在 Linux Mint 18.1(Ubuntu 16.04 LTS)上使用带有 g++ 编译器的 CodeLite。

目前的代码是:

#include <stdio.h>
#include <GL/glew.h>
#include <GL/freeglut.h>

int main(int argc, char **argv)
{
    glutInit(&argc, argv);

    printf("hello world\n");
    return 0;
}

起初我的编译器(CodeLite 中的 G++)给出了错误

/home/USER/Projects/CodeLite/Graphical/main.cpp:7: undefined reference to `glutInit'

我从各自的网站下载了所有最新的 GLEW 和 GLUT 包含文件并将它们解压到 /usr/include/GL、I edited the project settings linker like this.

现在它给出了错误信息:

/usr/bin/ld: cannot find -lglut
Makefile:4: recipe for target 'All' failed

我该怎么做才能解决这个问题?

您应该从包管理器安装库:libglew-devfreeglut3-devlibgl1-mesa-devlibglu1-mesa-dev。包含文件和二进制文件将放在适当的位置。

如果链接器找不到 .so 文件,请使用 dpkg -L freeglut3-dev 找到它们并在链接器命令行中添加此目录

g++ -L/path/to/libglut.so *.o -o programname