3

我在 mac os 雪豹 gcc 4.5.4 上 | gcc 4.2.1,尝试构建教程http://www.arcsynthesis.org/gltut/

需要先构建目录 glsdk。我通过macports freeglut @2.8.0_1(活动)安装freeglut(先决条件)并手动复制并粘贴其lib并将文件夹包含在dir glsdk中,以便 ls ..../Tutorial_0_3_8/glsdk/freeglut -> include lib(我不能' t构建freeglut,这就是为什么我用macports替换它的原因)

在修复了许多错误之后(主要是由于包含的遗留代码片段),我正在测试目录中测试构建,当我尝试运行生成的可执行文件 ./TestD 时,我得到:

X Error of failed request: BadRequest (invalid request code or no such operation) Major opcode of failed request: 34 (X_UngrabKey) Serial number of failed request: 28 Current serial number in output stream: 28

这是什么?一些搜索表明这是驱动程序的问题(?)..当我将 glut 与其他 gl 代码一起使用时,它运行得很好

4

1 回答 1

2

我的 X11 坏了**,这似乎是问题所在。由于构建这套教程很棘手,我重复我遵循的步骤,为任何面临类似问题的人

  1. 获取源https://bitbucket.org/alfonse/gltut/downloads,解压缩并填补空白,以便您拥有 Tutorial_0_3_8 而不是 Tutorial 0 3 8
  2. 在 glsdk 目录中--"freeglut/freeglut.lua,在 premake4.lua 中注释掉
  3. 在 glsdk 目录中,./premake gmake然后make config=release
  4. 在框架目录framework.cpp中,手动将宏LOCAL_FILE_DIR&分别替换GLOBAL_FILE_DIR为“./data/”&"./data/""../data/"注释掉#include "directories.h"
  5. 从根目录或您需要的内容一步构建所有教程,例如在测试目录中放置正确的路径以包含 freeglut 头文件并链接到:在 Test.make 中替换-I../glsdk/glutil/include-L../glsdk/glutil/lib通过 macports 构建的 freeglut 路径。同样在同一个makefile链接中,-lglut而不是-lfreeglut

**dyld: Symbol not found: __cg_DGifGetLine Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO Expected in: /opt/local/lib/libGIF.dylib in /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO

于 2012-09-05T14:21:16.310 回答