digitalmars.D.learn - Linking OpenGL and SDL OSX 10.4
- Johan Granberg (18/18) Mar 24 2006 I have tried to create an application using SDL and OpenGL under OSX and...
- Frank Benoit (5/5) Mar 24 2006 Seems to be a bug. If a module has only C-declarations and no actions in
- Johan Granberg (8/15) Mar 26 2006 Ok you got me confused. I had asumed you used the files as c headers and...
- James Pelcis (9/28) Mar 26 2006 Hello. Although I made those bindings, it doesn't surprise me that they...
- Johan Granberg (3/13) Mar 30 2006 If anyone is intrested I solved the problem by using the opengl bindings...
I have tried to create an application using SDL and OpenGL under OSX and encountered difficulties when I try to link it. Fairy:~/Desktop/spacesim johan$ make gdc -I/usr/include/d/4.0.1/ build/base/main.o build/base/config.o build/base/window.o build/base/interfaces.o build/base/file.o build/base/game.o build/base/spacesim.o -o build/spacesim -Llib -framework OpenGL -framework SDL /usr/bin/ld: Undefined symbols: __ModuleInfo_1c2gl2gl __ModuleInfo_1c2gl3glu __ModuleInfo_1c3sdl3sdl collect2: ld returned 1 exit status make: *** [build/spacesim] Error 1 Fairy:~/Desktop/spacesim johan$ How do I resolve these symbols. I'm using the headers fund on dsource. thanks in advance /Johan ps. if you need more info just tell me what you need to know
Mar 24 2006
Seems to be a bug. If a module has only C-declarations and no actions in it, the compiler does not generate the ModuleInfo symbol. For work around you can add a unittest{} into each such module.
Mar 24 2006
Frank Benoit wrote:Seems to be a bug. If a module has only C-declarations and no actions in it, the compiler does not generate the ModuleInfo symbol. For work around you can add a unittest{} into each such module.Ok you got me confused. I had asumed you used the files as c headers and therfor did not compiled and linked them. I tried to compile and link them to but that resulted in multiple definitions of wath i belive to bee every public symbol in opengl. what am i suposed to do to get the bindings working? I used these bindings but if there are others i can easily use them instead http://www.dsource.org/projects/bindings/wiki/OpenGraphicsLibrary
Mar 26 2006
Hello. Although I made those bindings, it doesn't surprise me that they can't be used. The problem is that I don't own a Mac. As I understand things, the headers still need to be compiled and linked. If you don't do that, you'll be calling a non-existent function. The major caveat is that _glextern.d should NOT be linked in or GLUT fonts might not work (on some operating system, at least). Further than that, I can't really help other than to apply whatever fixes are needed. Johan Granberg wrote:Frank Benoit wrote:Seems to be a bug. If a module has only C-declarations and no actions in it, the compiler does not generate the ModuleInfo symbol. For work around you can add a unittest{} into each such module.Ok you got me confused. I had asumed you used the files as c headers and therfor did not compiled and linked them. I tried to compile and link them to but that resulted in multiple definitions of wath i belive to bee every public symbol in opengl. what am i suposed to do to get the bindings working? I used these bindings but if there are others i can easily use them instead http://www.dsource.org/projects/bindings/wiki/OpenGraphicsLibrary
Mar 26 2006
James Pelcis wrote:Hello. Although I made those bindings, it doesn't surprise me that they can't be used. The problem is that I don't own a Mac. As I understand things, the headers still need to be compiled and linked. If you don't do that, you'll be calling a non-existent function. The major caveat is that _glextern.d should NOT be linked in or GLUT fonts might not work (on some operating system, at least). Further than that, I can't really help other than to apply whatever fixes are needed.If anyone is intrested I solved the problem by using the opengl bindings from the glfw project and as a result I'm now using glfw instead of sdl.
Mar 30 2006