issues with freeglut on mac os snow leopard (it builds fine via macports)

别等时光非礼了梦想. 提交于 2019-12-09 03:18:45

问题


im on mac os snow leopard gcc 4.5.4 | gcc 4.2.1, trying to build the tutorials http://www.arcsynthesis.org/gltut/

one needs to build dir glsdk first. I install freeglut (prerequisite) via macports freeglut @2.8.0_1 (active) and manually copy and paste its lib and include folders in dir glsdk so that ls ..../Tutorial_0_3_8/glsdk/freeglut -> include lib (I couldn't build the freeglut provided that's why I replace it with the one from macports)

after fixing many errors (mostly due to legacy snippets included) I'm testing the build in Test dir and when I try to run the generated executable ./TestD, I get:

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

what's this? a bit of search suggests this is a driver's problem(?).. when I use glut with other gl code it runs just fine


回答1:


my X11 is broken** and this seems to be the problem. since it's tricky to build this set of tutorials, I repeat the steps I followed for anyone facing similar trouble

  1. get the source https://bitbucket.org/alfonse/gltut/downloads, untar and fill in the gaps so that you have Tutorial_0_3_8 instead of Tutorial 0 3 8
  2. in glsdk directory, comment out --"freeglut/freeglut.lua, in premake4.lua
  3. in glsdk directory, ./premake gmake and then make config=release
  4. in framework directory, framework.cpp, manually replace macros LOCAL_FILE_DIR & GLOBAL_FILE_DIR with "./data/" "./data/" & "../data/" respectively and comment out #include "directories.h"
  5. build all the tutorials in a single step from root or those that you need, e.g. in Test directory put the right paths to include for freeglut headers and link with the: in Test.make replace -I../glsdk/glutil/include and -L../glsdk/glutil/lib with paths from freeglut build via macports. Also in the same makefile link with -lglut instead of -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



来源:https://stackoverflow.com/questions/12229211/issues-with-freeglut-on-mac-os-snow-leopard-it-builds-fine-via-macports

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!