g linux 未定义的引用_未定义的引用在Ubuntu上编译OpenGL / glfw / glew(g)
时间: 2023-11-27 14:51:49 浏览: 102
这个错误通常是由于缺少链接库或链接库的顺序不正确导致的。你可以尝试以下几个步骤来解决这个问题:
1. 确认你已经正确安装了OpenGL、GLFW和GLEW库。你可以使用以下命令来安装:
```
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev libglew-dev libglfw3-dev
```
2. 确认你的链接库路径正确。你可以使用以下命令来查看链接库路径:
```
echo $LD_LIBRARY_PATH
```
如果没有输出,说明你的链接库路径为空。你可以将链接库路径添加到环境变量中:
```
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
```
3. 确认你的链接库顺序正确。一般情况下,应该先链接GLEW,然后链接GLFW,最后链接OpenGL,如下所示:
```
gcc -o myprogram myprogram.c -lGLEW -lglfw -lGL
```
如果上述步骤都无法解决问题,你可以尝试在编译命令中添加 `-Wl,--verbose` 选项来查看链接器的详细输出,以便找到问题所在。
阅读全文