0

我正在尝试让 OpenGL 和 Glut 在 Eclipse Linux FC13 上运行。

在花了两天时间之后,我承认需要帮助。在 FC13 Eclipse 上,我看到 /usr/include/GL并且/usr/include/SDL——所以库就在那里。我启动了 Eclipse,然后尝试在其上运行一个简单的程序,就像这里建议的那样。但是,在这些步骤中缺少两件事:

  1. 无法安装 Callisto - 从存储库中找不到任何内容
  2. 在 Eclipse 3.5.2 的任何地方都找不到 GCC C++ 链接器。

尝试运行程序时,我看到此错误:

程序不存在

而有时

找不到二进制文件

如果我只是运行“hello world”,它就可以工作,否则,每次我尝试包含 glut gl 或 sdl 命令时都会发生这些错误。

以下是编译器错误的摘录:

make all 
g++ -O2 -g -Wall -fmessage-length=0   -c -o tw.o tw.cpp
tw.cpp: In function ‘void main_loop_function()’:
g++ -o tw tw.o

是的,显然编译器无法看到 glu、gl、sdl 和 glut 库。

关于如何修复的一些建议?

4

2 回答 2

2

你必须告诉编译器你的程序使用了额外的库。

使用 -l 参数

g++ -O2 -g -Wall -fmessage-length=0  -lglut -lGL -lGLU -lX11  -c -o tw.o tw.cpp

这应该有助于防止不满意的链接错误。

您可以在项目的属性中设置这些。属性->c/c++ Build->设置->工具设置->链接器

于 2010-08-29T19:47:42.253 回答
1

检查编译器是否能够找到适当的头文件。如果没有,你肯定会得到编译器错误。尝试使用该-I选项设置适当的路径。

一旦你解决了这个问题,检查是否有任何链接器错误(未定义的符号/引用或排序)。如果您这样做:尝试使用该-L选项设置库路径,并要求编译器使用该选项链接特定库-l。请注意,后者期望类似于-lmath实际调用链接的库的位置libmath.solibmath.a(视情况而定)。

于 2010-08-29T19:42:35.510 回答