From: YuGiOhJCJ Mailing-L. <yug...@la...> - 2013-06-15 10:42:09
|
Hello, I am cross-compiling [1] freeglut-2.8.1 to be able to cross-compile programs using OpenGL: $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no $ make make all-recursive make[1]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1' Making all in src make[2]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/src' /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 -lgdi32 -lwinmm -lm libtool: link: rm -fr .libs/libglut.dll.a libtool: link: i686-pc-mingw32-gcc -shared .libs/libglut_la-freeglut_callbacks.o .libs/libglut_la-freeglut_cursor.o .libs/libglut_la-freeglut_display.o .libs/libglut_la-freeglut_ext.o .libs/libglut_la-freeglut_font.o .libs/libglut_la-freeglut_glutfont_definitions.o .libs/libglut_la-freeglut_font_data.o .libs/libglut_la-freeglut_stroke_roman.o .libs/libglut_la-freeglut_stroke_mono_roman.o .libs/libglut_la-freeglut_gamemode.o .libs/libglut_la-freeglut_geometry.o .libs/libglut_la-freeglut_init.o .libs/libglut_la-freeglut_input_devices.o .libs/libglut_la-freeglut_spaceball.o .libs/libglut_la-freeglut_joystick.o .libs/libglut_la-freeglut_main.o .libs/libglut_la-freeglut_menu.o .libs/libglut_la-freeglut_misc.o .libs/libglut_la-freeglut_overlay.o .libs/libglut_la-freeglut_state.o .libs/libglut_la-freeglut_structure.o .libs/libglut_la-freeglut_teapot.o .libs/libglut_la-freeglut_videoresize.o .libs/libglut_la-freeglut_window.o .libs/libglut_la-freeglut_xinput.o -lopengl32 -lgdi32 -lwinmm -O2 -o .libs/libglut-0.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libglut.dll.a Creating library file: .libs/libglut.dll.a .libs/libglut_la-freeglut_ext.o:freeglut_ext.c:(.text+0x161b): undefined reference to `wglGetProcAddress@4' .libs/libglut_la-freeglut_ext.o:freeglut_ext.c:(.text+0xf31): undefined reference to `wglGetProcAddress@4' .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0xb65): undefined reference to `wglMakeCurrent@8' .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0xb73): undefined reference to `wglCreateContext@4' .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0x193c): undefined reference to `wglGetCurrentContext@0' .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0x19e7): undefined reference to `wglCreateContext@4' .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0x1bef): undefined reference to `wglCreateContext@4' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x11): undefined reference to `wglGetProcAddress@4' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x7e): undefined reference to `wglMakeCurrent@8' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x111): undefined reference to `wglGetProcAddress@4' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x14d): undefined reference to `wglMakeCurrent@8' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x15b): undefined reference to `wglDeleteContext@4' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x3b8): undefined reference to `wglGetCurrentContext@0' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x3c1): undefined reference to `wglGetCurrentDC@0' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4a3): undefined reference to `wglCreateContext@4' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4b6): undefined reference to `wglMakeCurrent@8' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4e1): undefined reference to `wglMakeCurrent@8' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4f0): undefined reference to `wglDeleteContext@4' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x58f): undefined reference to `wglGetProcAddress@4' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x7ba): undefined reference to `wglMakeCurrent@8' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0xeac): undefined reference to `wglDeleteContext@4' .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0xecc): undefined reference to `wglMakeCurrent@8' collect2: error: ld returned 1 exit status make[2]: *** [libglut.la] Error 1 make[2]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1' make: *** [all] Error 2 What I am doing wrong ? Thank you. Best regards. [1] My cross-compiler (linux -> windows): i686-pc-mingw32-binutils-2.22 i686-pc-mingw32-gcc-g++-4.8.0 i686-pc-mingw32-gtk+-1.2.10 i686-pc-mingw32-libxmp-4.0.2 i686-pc-mingw32-mesa-9.1.3 i686-pc-mingw32-mingwrt-3.20 i686-pc-mingw32-sdl-1.2.15 i686-pc-mingw32-sdl-net-1.2.8 i686-pc-mingw32-w32api-3.17 i686-pc-mingw32-xmp-4.0.1 |
From: YuGiOhJCJ Mailing-L. <yug...@la...> - 2013-06-15 20:28:15
|
On Sat, 15 Jun 2013 12:41:58 +0200 YuGiOhJCJ Mailing-List <yug...@la...> wrote: > Hello, > > I am cross-compiling [1] freeglut-2.8.1 to be able to cross-compile programs using OpenGL: > $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" > $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no > $ make > make all-recursive > make[1]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1' > Making all in src > make[2]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/src' > /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 -lgdi32 -lwinmm -lm > libtool: link: rm -fr .libs/libglut.dll.a > libtool: link: i686-pc-mingw32-gcc -shared .libs/libglut_la-freeglut_callbacks.o .libs/libglut_la-freeglut_cursor.o .libs/libglut_la-freeglut_display.o .libs/libglut_la-freeglut_ext.o .libs/libglut_la-freeglut_font.o .libs/libglut_la-freeglut_glutfont_definitions.o .libs/libglut_la-freeglut_font_data.o .libs/libglut_la-freeglut_stroke_roman.o .libs/libglut_la-freeglut_stroke_mono_roman.o .libs/libglut_la-freeglut_gamemode.o .libs/libglut_la-freeglut_geometry.o .libs/libglut_la-freeglut_init.o .libs/libglut_la-freeglut_input_devices.o .libs/libglut_la-freeglut_spaceball.o .libs/libglut_la-freeglut_joystick.o .libs/libglut_la-freeglut_main.o .libs/libglut_la-freeglut_menu.o .libs/libglut_la-freeglut_misc.o .libs/libglut_la-freeglut_overlay.o .libs/libglut_la-freeglut_state.o .libs/libglut_la-freeglut_structure.o .libs/libglut_la-freeglut_teapot.o .libs/libglut_la-freeglut_videoresize.o .libs/libglut_la-freeglut_window.o .libs/libglut_la-freeglut_xinput.o -lopengl32 -lgdi32 -lwinmm -O2 -o .libs/libglut-0.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libglut.dll.a > Creating library file: .libs/libglut.dll.a > .libs/libglut_la-freeglut_ext.o:freeglut_ext.c:(.text+0x161b): undefined reference to `wglGetProcAddress@4' > .libs/libglut_la-freeglut_ext.o:freeglut_ext.c:(.text+0xf31): undefined reference to `wglGetProcAddress@4' > .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0xb65): undefined reference to `wglMakeCurrent@8' > .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0xb73): undefined reference to `wglCreateContext@4' > .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0x193c): undefined reference to `wglGetCurrentContext@0' > .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0x19e7): undefined reference to `wglCreateContext@4' > .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0x1bef): undefined reference to `wglCreateContext@4' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x11): undefined reference to `wglGetProcAddress@4' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x7e): undefined reference to `wglMakeCurrent@8' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x111): undefined reference to `wglGetProcAddress@4' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x14d): undefined reference to `wglMakeCurrent@8' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x15b): undefined reference to `wglDeleteContext@4' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x3b8): undefined reference to `wglGetCurrentContext@0' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x3c1): undefined reference to `wglGetCurrentDC@0' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4a3): undefined reference to `wglCreateContext@4' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4b6): undefined reference to `wglMakeCurrent@8' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4e1): undefined reference to `wglMakeCurrent@8' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4f0): undefined reference to `wglDeleteContext@4' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x58f): undefined reference to `wglGetProcAddress@4' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x7ba): undefined reference to `wglMakeCurrent@8' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0xeac): undefined reference to `wglDeleteContext@4' > .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0xecc): undefined reference to `wglMakeCurrent@8' > collect2: error: ld returned 1 exit status > make[2]: *** [libglut.la] Error 1 > make[2]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/src' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1' > make: *** [all] Error 2 > > What I am doing wrong ? > > Thank you. > Best regards. > > [1] My cross-compiler (linux -> windows): > i686-pc-mingw32-binutils-2.22 > i686-pc-mingw32-gcc-g++-4.8.0 > i686-pc-mingw32-gtk+-1.2.10 > i686-pc-mingw32-libxmp-4.0.2 > i686-pc-mingw32-mesa-9.1.3 > i686-pc-mingw32-mingwrt-3.20 > i686-pc-mingw32-sdl-1.2.15 > i686-pc-mingw32-sdl-net-1.2.8 > i686-pc-mingw32-w32api-3.17 > i686-pc-mingw32-xmp-4.0.1 I have found. I have just replaced this line: GL_LIBS="-lopengl32 -lgdi32 -lwinmm" by: GL_LIBS="-lopengl32 -lgdi32 -lwinmm -lwgl" in the "configure.ac" file. But now, I have an other error: $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no $ make make all-recursive make[1]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1' Making all in src make[2]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/src' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/src' Making all in include make[2]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include' Making all in GL make[3]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include/GL' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include/GL' make[3]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include' make[2]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include' Making all in progs make[2]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs' Making all in demos make[3]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos' Making all in CallbackMaker make[4]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker' /bin/sh ../../../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -I../../../include -g -O2 -Wall -pedantic -export-dynamic -o CallbackMaker.exe CallbackMaker-CallbackMaker.o ../../../src/libglut.la -lopengl32 -lgdi32 -lwinmm -lwgl libtool: link: i686-pc-mingw32-gcc -I../../../include -g -O2 -Wall -pedantic -o .libs/CallbackMaker.exe CallbackMaker-CallbackMaker.o -Wl,--export-all-symbols ../../../src/.libs/libglut.a -lopengl32 -lgdi32 -lwinmm -lwgl CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:429: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:330: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:437: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:443: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:449: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:453: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:419: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:423: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:409: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:413: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:389: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:393: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:399: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:403: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:379: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:383: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:369: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:373: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:359: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:363: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:349: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:353: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:339: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:343: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:320: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:324: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:307: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:314: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:294: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:301: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:279: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:288: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:264: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:273: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:249: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:258: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:235: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:243: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:221: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:229: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:209: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:215: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:195: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:203: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:181: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:189: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:167: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:175: undefined reference to `_imp__glutPostRedisplay@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:48: undefined reference to `_imp__glutBitmapString@8' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:55: undefined reference to `_imp__glutGetWindow@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:63: undefined reference to `_imp__glutGet@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:133: undefined reference to `_imp__glutSwapBuffers@0' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:469: undefined reference to `_imp__glutInitWarningFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:470: undefined reference to `_imp__glutInitErrorFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:471: undefined reference to `_imp__glutInitWindowSize@8' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:472: undefined reference to `_imp__glutInitWindowPosition@8' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:473: undefined reference to `_imp__glutInitDisplayMode@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/../../../include/GL/freeglut_std.h:620: undefined reference to `_imp____glutInitWithExit@12' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:475: undefined reference to `_imp__glutSetOption@8' CallbackMaker-CallbackMaker.o: In function `glutCreateWindow_ATEXIT_HACK': /home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/../../../include/GL/freeglut_std.h:622: undefined reference to `_imp____glutCreateWindowWithExit@8' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:482: undefined reference to `_imp__glutDisplayFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:483: undefined reference to `_imp__glutReshapeFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:484: undefined reference to `_imp__glutKeyboardFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:485: undefined reference to `_imp__glutSpecialFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:486: undefined reference to `_imp__glutVisibilityFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:487: undefined reference to `_imp__glutKeyboardUpFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:488: undefined reference to `_imp__glutSpecialUpFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:489: undefined reference to `_imp__glutJoystickFunc@8' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:490: undefined reference to `_imp__glutMouseFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:491: undefined reference to `_imp__glutMouseWheelFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:492: undefined reference to `_imp__glutMotionFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:493: undefined reference to `_imp__glutPassiveMotionFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:494: undefined reference to `_imp__glutEntryFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:495: undefined reference to `_imp__glutCloseFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:496: undefined reference to `_imp__glutOverlayDisplayFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:497: undefined reference to `_imp__glutWindowStatusFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:498: undefined reference to `_imp__glutSpaceballMotionFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:499: undefined reference to `_imp__glutSpaceballRotateFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:500: undefined reference to `_imp__glutSpaceballButtonFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:501: undefined reference to `_imp__glutButtonBoxFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:502: undefined reference to `_imp__glutDialsFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:503: undefined reference to `_imp__glutTabletMotionFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:504: undefined reference to `_imp__glutTabletButtonFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:505: undefined reference to `_imp__glutMenuStatusFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:506: undefined reference to `_imp__glutSetKeyRepeat@4' CallbackMaker-CallbackMaker.o: In function `glutCreateMenu_ATEXIT_HACK': /home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/../../../include/GL/freeglut_std.h:624: undefined reference to `_imp____glutCreateMenuWithExit@8' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:509: undefined reference to `_imp__glutAddMenuEntry@8' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:512: undefined reference to `_imp__glutMenuDestroyFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:518: undefined reference to `_imp__glutAddSubMenu@8' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:531: undefined reference to `_imp__glutAttachMenu@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:563: undefined reference to `_imp__glutIdleFunc@4' CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:568: undefined reference to `_imp__glutMainLoop@0' collect2: error: ld returned 1 exit status make[4]: *** [CallbackMaker.exe] Error 1 make[4]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1' make: *** [all] Error 2 Do you see what is the problem ? Thank you. Best regards. |
From: Nigel S. <nig...@gm...> - 2013-06-15 20:59:16
|
Looks like you're trying to link FreeGLUT statically, but when the freeglut header was included, it assumed .dll You need to define something along the lines of GLUT_STATIC or similar at build time. - Nigel On Sat, Jun 15, 2013 at 3:28 PM, YuGiOhJCJ Mailing-List <yug...@la...> wrote: > On Sat, 15 Jun 2013 12:41:58 +0200 > YuGiOhJCJ Mailing-List <yug...@la...> wrote: > >> Hello, >> >> I am cross-compiling [1] freeglut-2.8.1 to be able to cross-compile programs using OpenGL: >> $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" >> $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no >> $ make >> make all-recursive >> make[1]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1' >> Making all in src >> make[2]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/src' >> /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 -lgdi32 -lwinmm -lm >> libtool: link: rm -fr .libs/libglut.dll.a >> libtool: link: i686-pc-mingw32-gcc -shared .libs/libglut_la-freeglut_callbacks.o .libs/libglut_la-freeglut_cursor.o .libs/libglut_la-freeglut_display.o .libs/libglut_la-freeglut_ext.o .libs/libglut_la-freeglut_font.o .libs/libglut_la-freeglut_glutfont_definitions.o .libs/libglut_la-freeglut_font_data.o .libs/libglut_la-freeglut_stroke_roman.o .libs/libglut_la-freeglut_stroke_mono_roman.o .libs/libglut_la-freeglut_gamemode.o .libs/libglut_la-freeglut_geometry.o .libs/libglut_la-freeglut_init.o .libs/libglut_la-freeglut_input_devices.o .libs/libglut_la-freeglut_spaceball.o .libs/libglut_la-freeglut_joystick.o .libs/libglut_la-freeglut_main.o .libs/libglut_la-freeglut_menu.o .libs/libglut_la-freeglut_misc.o .libs/libglut_la-freeglut_overlay.o .libs/libglut_la-freeglut_state.o .libs/libglut_la-freeglut_structure.o .libs/libglut_la-freeglut_teapot.o .libs/libglut_la-freeglut_videoresize.o .libs/libglut_la-freeglut_window.o .libs/libglut_la-freeglut_xinput.o -lopengl32 -lgdi32 -lwinmm -O2 -o .libs/libglut-0.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libglut.dll.a >> Creating library file: .libs/libglut.dll.a >> .libs/libglut_la-freeglut_ext.o:freeglut_ext.c:(.text+0x161b): undefined reference to `wglGetProcAddress@4' >> .libs/libglut_la-freeglut_ext.o:freeglut_ext.c:(.text+0xf31): undefined reference to `wglGetProcAddress@4' >> .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0xb65): undefined reference to `wglMakeCurrent@8' >> .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0xb73): undefined reference to `wglCreateContext@4' >> .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0x193c): undefined reference to `wglGetCurrentContext@0' >> .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0x19e7): undefined reference to `wglCreateContext@4' >> .libs/libglut_la-freeglut_main.o:freeglut_main.c:(.text+0x1bef): undefined reference to `wglCreateContext@4' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x11): undefined reference to `wglGetProcAddress@4' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x7e): undefined reference to `wglMakeCurrent@8' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x111): undefined reference to `wglGetProcAddress@4' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x14d): undefined reference to `wglMakeCurrent@8' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x15b): undefined reference to `wglDeleteContext@4' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x3b8): undefined reference to `wglGetCurrentContext@0' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x3c1): undefined reference to `wglGetCurrentDC@0' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4a3): undefined reference to `wglCreateContext@4' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4b6): undefined reference to `wglMakeCurrent@8' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4e1): undefined reference to `wglMakeCurrent@8' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x4f0): undefined reference to `wglDeleteContext@4' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x58f): undefined reference to `wglGetProcAddress@4' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0x7ba): undefined reference to `wglMakeCurrent@8' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0xeac): undefined reference to `wglDeleteContext@4' >> .libs/libglut_la-freeglut_window.o:freeglut_window.c:(.text+0xecc): undefined reference to `wglMakeCurrent@8' >> collect2: error: ld returned 1 exit status >> make[2]: *** [libglut.la] Error 1 >> make[2]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/src' >> make[1]: *** [all-recursive] Error 1 >> make[1]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1' >> make: *** [all] Error 2 >> >> What I am doing wrong ? >> >> Thank you. >> Best regards. >> >> [1] My cross-compiler (linux -> windows): >> i686-pc-mingw32-binutils-2.22 >> i686-pc-mingw32-gcc-g++-4.8.0 >> i686-pc-mingw32-gtk+-1.2.10 >> i686-pc-mingw32-libxmp-4.0.2 >> i686-pc-mingw32-mesa-9.1.3 >> i686-pc-mingw32-mingwrt-3.20 >> i686-pc-mingw32-sdl-1.2.15 >> i686-pc-mingw32-sdl-net-1.2.8 >> i686-pc-mingw32-w32api-3.17 >> i686-pc-mingw32-xmp-4.0.1 > > I have found. > I have just replaced this line: > GL_LIBS="-lopengl32 -lgdi32 -lwinmm" > by: > GL_LIBS="-lopengl32 -lgdi32 -lwinmm -lwgl" > in the "configure.ac" file. > > But now, I have an other error: > $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" > $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no > $ make > make all-recursive > make[1]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1' > Making all in src > make[2]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/src' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/src' > Making all in include > make[2]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include' > Making all in GL > make[3]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include/GL' > make[3]: Nothing to be done for `all'. > make[3]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include/GL' > make[3]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include' > make[3]: Nothing to be done for `all-am'. > make[3]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include' > make[2]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/include' > Making all in progs > make[2]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs' > Making all in demos > make[3]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos' > Making all in CallbackMaker > make[4]: Entering directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker' > /bin/sh ../../../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -I../../../include -g -O2 -Wall -pedantic -export-dynamic -o CallbackMaker.exe CallbackMaker-CallbackMaker.o ../../../src/libglut.la -lopengl32 -lgdi32 -lwinmm -lwgl > libtool: link: i686-pc-mingw32-gcc -I../../../include -g -O2 -Wall -pedantic -o .libs/CallbackMaker.exe CallbackMaker-CallbackMaker.o -Wl,--export-all-symbols ../../../src/.libs/libglut.a -lopengl32 -lgdi32 -lwinmm -lwgl > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:429: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:330: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:437: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:443: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:449: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:453: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:419: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:423: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:409: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:413: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:389: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:393: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:399: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:403: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:379: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:383: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:369: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:373: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:359: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:363: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:349: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:353: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:339: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:343: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:320: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:324: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:307: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:314: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:294: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:301: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:279: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:288: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:264: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:273: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:249: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:258: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:235: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:243: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:221: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:229: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:209: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:215: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:195: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:203: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:181: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:189: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:167: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:175: undefined reference to `_imp__glutPostRedisplay@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:48: undefined reference to `_imp__glutBitmapString@8' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:55: undefined reference to `_imp__glutGetWindow@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:63: undefined reference to `_imp__glutGet@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:133: undefined reference to `_imp__glutSwapBuffers@0' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:469: undefined reference to `_imp__glutInitWarningFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:470: undefined reference to `_imp__glutInitErrorFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:471: undefined reference to `_imp__glutInitWindowSize@8' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:472: undefined reference to `_imp__glutInitWindowPosition@8' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:473: undefined reference to `_imp__glutInitDisplayMode@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/../../../include/GL/freeglut_std.h:620: undefined reference to `_imp____glutInitWithExit@12' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:475: undefined reference to `_imp__glutSetOption@8' > CallbackMaker-CallbackMaker.o: In function `glutCreateWindow_ATEXIT_HACK': > /home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/../../../include/GL/freeglut_std.h:622: undefined reference to `_imp____glutCreateWindowWithExit@8' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:482: undefined reference to `_imp__glutDisplayFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:483: undefined reference to `_imp__glutReshapeFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:484: undefined reference to `_imp__glutKeyboardFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:485: undefined reference to `_imp__glutSpecialFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:486: undefined reference to `_imp__glutVisibilityFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:487: undefined reference to `_imp__glutKeyboardUpFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:488: undefined reference to `_imp__glutSpecialUpFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:489: undefined reference to `_imp__glutJoystickFunc@8' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:490: undefined reference to `_imp__glutMouseFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:491: undefined reference to `_imp__glutMouseWheelFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:492: undefined reference to `_imp__glutMotionFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:493: undefined reference to `_imp__glutPassiveMotionFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:494: undefined reference to `_imp__glutEntryFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:495: undefined reference to `_imp__glutCloseFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:496: undefined reference to `_imp__glutOverlayDisplayFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:497: undefined reference to `_imp__glutWindowStatusFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:498: undefined reference to `_imp__glutSpaceballMotionFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:499: undefined reference to `_imp__glutSpaceballRotateFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:500: undefined reference to `_imp__glutSpaceballButtonFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:501: undefined reference to `_imp__glutButtonBoxFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:502: undefined reference to `_imp__glutDialsFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:503: undefined reference to `_imp__glutTabletMotionFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:504: undefined reference to `_imp__glutTabletButtonFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:505: undefined reference to `_imp__glutMenuStatusFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:506: undefined reference to `_imp__glutSetKeyRepeat@4' > CallbackMaker-CallbackMaker.o: In function `glutCreateMenu_ATEXIT_HACK': > /home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/../../../include/GL/freeglut_std.h:624: undefined reference to `_imp____glutCreateMenuWithExit@8' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:509: undefined reference to `_imp__glutAddMenuEntry@8' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:512: undefined reference to `_imp__glutMenuDestroyFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:518: undefined reference to `_imp__glutAddSubMenu@8' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:531: undefined reference to `_imp__glutAttachMenu@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:563: undefined reference to `_imp__glutIdleFunc@4' > CallbackMaker-CallbackMaker.o:/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c:568: undefined reference to `_imp__glutMainLoop@0' > collect2: error: ld returned 1 exit status > make[4]: *** [CallbackMaker.exe] Error 1 > make[4]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos/CallbackMaker' > make[3]: *** [all-recursive] Error 1 > make[3]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs/demos' > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1/progs' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/home/yugiohjcj/documents/downloads/software/freeglut-2.8.1' > make: *** [all] Error 2 > > Do you see what is the problem ? > > Thank you. > Best regards. > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: YuGiOhJCJ Mailing-L. <yug...@la...> - 2013-06-15 23:51:08
|
> Looks like you're trying to link FreeGLUT statically, but when the > freeglut header was included, > it assumed .dll That is a bit strange that it tries to link statically because I have not activated an option for this behaviour. Anyway, I prefer to link FreeGLUT dynamically, it is more common to have dynamic libraries. How to do that ? > You need to define something along the lines of > GLUT_STATIC or similar > at build time. I don't understand. What lines exactly and in what files ? |
From: YuGiOhJCJ Mailing-L. <yug...@la...> - 2013-06-16 11:40:21
|
> > Looks like you're trying to link FreeGLUT statically, but when the > > freeglut header was included, > > it assumed .dll > > That is a bit strange that it tries to link statically because I have not activated an option for this behaviour. > Anyway, I prefer to link FreeGLUT dynamically, it is more common to have dynamic libraries. > How to do that ? > > > You need to define something along the lines of > > GLUT_STATIC or similar > > at build time. > > I don't understand. > What lines exactly and in what files ? > I have seen a warning message that could be the key to solve my problem: $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no $ make [...] /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 -lgdi32 -lwinmm -lwgl -lm *** Warning: linker path does not have real file for library -lwgl. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libwgl and none of the candidates passed a file format test *** using a file magic. Last file checked: /usr/i686-pc-mingw32/lib/libwgl.a *** The inter-library dependencies that have been dropped here will be *** automatically added whenever a program is linked with this library *** or is declared to -dlopen it. *** Since this library must not contain undefined symbols, *** because either the platform does not support them or *** it was explicitly requested with -no-undefined, *** libtool will only create a static version of it. I have added "-lwgl" in "configure.ac" manually to resolve the first problem (undefined reference to `wglGetProcAddress@4'). Now, I try to correct the second problem (undefined reference to `_imp__glutGetWindow@0'). But this warning message may means that the first problem is not completely resolved. What do you think about that ? |
From: YuGiOhJCJ Mailing-L. <yug...@la...> - 2013-08-02 04:07:42
|
OK I found how to cross-compile freeglut-2.8.1 to be able to cross-compile programs using OpenGL. In fact, you just need to watch at the MXE project [1] to understand how to do. This is the script I use to cross-compile freeglut-2.8.1: set -e DIR="freeglut-2.8.1" DESTDIR="/tmp/i686-pc-mingw32-${DIR}" tar xvf ${DIR}.tar.gz cd ${DIR} ./configure --prefix=/usr/i686-pc-mingw32 --without-x --disable-shared --enable-replace-glut --disable-debug make install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= EXPORT_FLAGS='-DFREEGLUT_STATIC' DESTDIR=${DESTDIR} cd - rm -rfv ${DIR} Here are the files I have: $ tree /tmp/i686-pc-mingw32-freeglut-2.8.1 /tmp/i686-pc-mingw32-freeglut-2.8.1 `-- usr `-- i686-pc-mingw32 |-- include | `-- GL | |-- freeglut_ext.h | |-- freeglut.h | |-- freeglut_std.h | `-- glut.h `-- lib |-- libglut.a `-- libglut.la 5 directories, 6 files Now, if I try to to cross-compile programs using OpenGL [2] (a sample from the mesa-demo called "logo"), this is the result: $ i686-pc-mingw32-gcc logo.c -lopengl32 -lglu32 -lglut /tmp/ccDMEUpT.o:logo.c:(.text+0xe): undefined reference to `_imp__glutGet@4' /tmp/ccDMEUpT.o:logo.c:(.text+0xb0): undefined reference to `_imp__glutSetColor@16' /tmp/ccDMEUpT.o:logo.c:(.text+0x152): undefined reference to `_imp__glutSetColor@16' /tmp/ccDMEUpT.o:logo.c:(.text+0x1ae): undefined reference to `_imp__glutSetColor@16' /tmp/ccDMEUpT.o:logo.c:(.text+0x243): undefined reference to `_imp__glutSetColor@16' /tmp/ccDMEUpT.o:logo.c:(.text+0x2857): undefined reference to `_imp__glutPostRedisplay@0' /tmp/ccDMEUpT.o:logo.c:(.text+0x2f56): undefined reference to `_imp__glutPostRedisplay@0' /tmp/ccDMEUpT.o:logo.c:(.text+0x3031): undefined reference to `_imp__glutSwapBuffers@0' /tmp/ccDMEUpT.o:logo.c:(.text+0x318c): undefined reference to `_imp__glutInit@8' /tmp/ccDMEUpT.o:logo.c:(.text+0x31c6): undefined reference to `_imp__glutInitWindowPosition@8' /tmp/ccDMEUpT.o:logo.c:(.text+0x31df): undefined reference to `_imp__glutInitWindowSize@8' /tmp/ccDMEUpT.o:logo.c:(.text+0x321e): undefined reference to `_imp__glutInitDisplayMode@4' /tmp/ccDMEUpT.o:logo.c:(.text+0x322f): undefined reference to `_imp__glutCreateWindow@4' /tmp/ccDMEUpT.o:logo.c:(.text+0x325a): undefined reference to `_imp__glutReshapeFunc@4' /tmp/ccDMEUpT.o:logo.c:(.text+0x326b): undefined reference to `_imp__glutKeyboardFunc@4' /tmp/ccDMEUpT.o:logo.c:(.text+0x327c): undefined reference to `_imp__glutSpecialFunc@4' /tmp/ccDMEUpT.o:logo.c:(.text+0x328d): undefined reference to `_imp__glutDisplayFunc@4' /tmp/ccDMEUpT.o:logo.c:(.text+0x3297): undefined reference to `_imp__glutMainLoop@0' collect2: error: ld returned 1 exit status Do you know why I got this strange error about undefined functions ? [1] https://github.com/mxe/mxe/blob/master/src/freeglut.mk [2] http://cgit.freedesktop.org/mesa/demos/tree/src/samples/logo.c?id=mesa-demos-8.1.0 On Sun, 16 Jun 2013 13:40:05 +0200 YuGiOhJCJ Mailing-List <yug...@la...> wrote: > > > Looks like you're trying to link FreeGLUT statically, but when the > > > freeglut header was included, > > > it assumed .dll > > > > That is a bit strange that it tries to link statically because I have not activated an option for this behaviour. > > Anyway, I prefer to link FreeGLUT dynamically, it is more common to have dynamic libraries. > > How to do that ? > > > > > You need to define something along the lines of > > > GLUT_STATIC or similar > > > at build time. > > > > I don't understand. > > What lines exactly and in what files ? > > > > I have seen a warning message that could be the key to solve my problem: > $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" > $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no > $ make > [...] > /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 -lgdi32 -lwinmm -lwgl -lm > > *** Warning: linker path does not have real file for library -lwgl. > *** I have the capability to make that library automatically link in when > *** you link to this library. But I can only do this if you have a > *** shared version of the library, which you do not appear to have > *** because I did check the linker path looking for a file starting > *** with libwgl and none of the candidates passed a file format test > *** using a file magic. Last file checked: /usr/i686-pc-mingw32/lib/libwgl.a > *** The inter-library dependencies that have been dropped here will be > *** automatically added whenever a program is linked with this library > *** or is declared to -dlopen it. > > *** Since this library must not contain undefined symbols, > *** because either the platform does not support them or > *** it was explicitly requested with -no-undefined, > *** libtool will only create a static version of it. > > I have added "-lwgl" in "configure.ac" manually to resolve the first problem (undefined reference to `wglGetProcAddress@4'). > Now, I try to correct the second problem (undefined reference to `_imp__glutGetWindow@0'). > But this warning message may means that the first problem is not completely resolved. > > What do you think about that ? > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: Clemens S. <cs1...@fh...> - 2013-08-02 08:14:17
|
Hi, what happens if you use -lfreeglut -lglu32 -lopengl32 instead -lopengl32 -lglu32 -lglut ? And thanks for sending the script! Clemens Am 02.08.2013 06:07, schrieb YuGiOhJCJ Mailing-List: > OK I found how to cross-compile freeglut-2.8.1 to be able to cross-compile programs using OpenGL. > In fact, you just need to watch at the MXE project [1] to understand how to do. > > This is the script I use to cross-compile freeglut-2.8.1: > set -e > DIR="freeglut-2.8.1" > DESTDIR="/tmp/i686-pc-mingw32-${DIR}" > tar xvf ${DIR}.tar.gz > cd ${DIR} > ./configure --prefix=/usr/i686-pc-mingw32 --without-x --disable-shared --enable-replace-glut --disable-debug > make install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= EXPORT_FLAGS='-DFREEGLUT_STATIC' DESTDIR=${DESTDIR} > cd - > rm -rfv ${DIR} > > Here are the files I have: > $ tree /tmp/i686-pc-mingw32-freeglut-2.8.1 > /tmp/i686-pc-mingw32-freeglut-2.8.1 > `-- usr > `-- i686-pc-mingw32 > |-- include > | `-- GL > | |-- freeglut_ext.h > | |-- freeglut.h > | |-- freeglut_std.h > | `-- glut.h > `-- lib > |-- libglut.a > `-- libglut.la > > 5 directories, 6 files > > Now, if I try to to cross-compile programs using OpenGL [2] (a sample from the mesa-demo called "logo"), this is the result: > $ i686-pc-mingw32-gcc logo.c -lopengl32 -lglu32 -lglut > /tmp/ccDMEUpT.o:logo.c:(.text+0xe): undefined reference to `_imp__glutGet@4' > /tmp/ccDMEUpT.o:logo.c:(.text+0xb0): undefined reference to `_imp__glutSetColor@16' > /tmp/ccDMEUpT.o:logo.c:(.text+0x152): undefined reference to `_imp__glutSetColor@16' > /tmp/ccDMEUpT.o:logo.c:(.text+0x1ae): undefined reference to `_imp__glutSetColor@16' > /tmp/ccDMEUpT.o:logo.c:(.text+0x243): undefined reference to `_imp__glutSetColor@16' > /tmp/ccDMEUpT.o:logo.c:(.text+0x2857): undefined reference to `_imp__glutPostRedisplay@0' > /tmp/ccDMEUpT.o:logo.c:(.text+0x2f56): undefined reference to `_imp__glutPostRedisplay@0' > /tmp/ccDMEUpT.o:logo.c:(.text+0x3031): undefined reference to `_imp__glutSwapBuffers@0' > /tmp/ccDMEUpT.o:logo.c:(.text+0x318c): undefined reference to `_imp__glutInit@8' > /tmp/ccDMEUpT.o:logo.c:(.text+0x31c6): undefined reference to `_imp__glutInitWindowPosition@8' > /tmp/ccDMEUpT.o:logo.c:(.text+0x31df): undefined reference to `_imp__glutInitWindowSize@8' > /tmp/ccDMEUpT.o:logo.c:(.text+0x321e): undefined reference to `_imp__glutInitDisplayMode@4' > /tmp/ccDMEUpT.o:logo.c:(.text+0x322f): undefined reference to `_imp__glutCreateWindow@4' > /tmp/ccDMEUpT.o:logo.c:(.text+0x325a): undefined reference to `_imp__glutReshapeFunc@4' > /tmp/ccDMEUpT.o:logo.c:(.text+0x326b): undefined reference to `_imp__glutKeyboardFunc@4' > /tmp/ccDMEUpT.o:logo.c:(.text+0x327c): undefined reference to `_imp__glutSpecialFunc@4' > /tmp/ccDMEUpT.o:logo.c:(.text+0x328d): undefined reference to `_imp__glutDisplayFunc@4' > /tmp/ccDMEUpT.o:logo.c:(.text+0x3297): undefined reference to `_imp__glutMainLoop@0' > collect2: error: ld returned 1 exit status > > Do you know why I got this strange error about undefined functions ? > > [1] https://github.com/mxe/mxe/blob/master/src/freeglut.mk > [2] http://cgit.freedesktop.org/mesa/demos/tree/src/samples/logo.c?id=mesa-demos-8.1.0 > > On Sun, 16 Jun 2013 13:40:05 +0200 > YuGiOhJCJ Mailing-List <yug...@la...> wrote: > >>>> Looks like you're trying to link FreeGLUT statically, but when the >>>> freeglut header was included, >>>> it assumed .dll >>> >>> That is a bit strange that it tries to link statically because I have not activated an option for this behaviour. >>> Anyway, I prefer to link FreeGLUT dynamically, it is more common to have dynamic libraries. >>> How to do that ? >>> >>>> You need to define something along the lines of >>>> GLUT_STATIC or similar >>>> at build time. >>> >>> I don't understand. >>> What lines exactly and in what files ? >>> >> >> I have seen a warning message that could be the key to solve my problem: >> $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" >> $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no >> $ make >> [...] >> /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 -lgdi32 - l > winmm -lwgl -lm >> >> *** Warning: linker path does not have real file for library -lwgl. >> *** I have the capability to make that library automatically link in when >> *** you link to this library. But I can only do this if you have a >> *** shared version of the library, which you do not appear to have >> *** because I did check the linker path looking for a file starting >> *** with libwgl and none of the candidates passed a file format test >> *** using a file magic. Last file checked: /usr/i686-pc-mingw32/lib/libwgl.a >> *** The inter-library dependencies that have been dropped here will be >> *** automatically added whenever a program is linked with this library >> *** or is declared to -dlopen it. >> >> *** Since this library must not contain undefined symbols, >> *** because either the platform does not support them or >> *** it was explicitly requested with -no-undefined, >> *** libtool will only create a static version of it. >> >> I have added "-lwgl" in "configure.ac" manually to resolve the first problem (undefined reference to `wglGetProcAddress@4'). >> Now, I try to correct the second problem (undefined reference to `_imp__glutGetWindow@0'). >> But this warning message may means that the first problem is not completely resolved. >> >> What do you think about that ? >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Windows: >> >> Build for Windows Store. >> >> http://p.sf.net/sfu/windows-dev2dev >> _______________________________________________ >> Freeglut-developer mailing list >> Fre...@li... >> https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > |
From: YuGiOhJCJ Mailing-L. <yug...@la...> - 2013-08-02 20:48:26
|
$ i686-pc-mingw32-gcc logo.c -lfreeglut -lglu32 -lopengl32 /usr/lib/gcc/i686-pc-mingw32/4.8.0/../../../../i686-pc-mingw32/bin/ld: cannot find -lfreeglut collect2: error: ld returned 1 exit status Do you think my library should be named libfreeglut.a instead of libglut.a ? On Fri, 02 Aug 2013 09:57:17 +0200 Clemens Schäfermeier <cs1...@fh...> wrote: > Hi, > what happens if you use > -lfreeglut -lglu32 -lopengl32 > instead > -lopengl32 -lglu32 -lglut > ? And thanks for sending the script! > Clemens > > Am 02.08.2013 06:07, schrieb YuGiOhJCJ Mailing-List: > > OK I found how to cross-compile freeglut-2.8.1 to be able to cross-compile programs using OpenGL. > > In fact, you just need to watch at the MXE project [1] to understand how to do. > > > > This is the script I use to cross-compile freeglut-2.8.1: > > set -e > > DIR="freeglut-2.8.1" > > DESTDIR="/tmp/i686-pc-mingw32-${DIR}" > > tar xvf ${DIR}.tar.gz > > cd ${DIR} > > ./configure --prefix=/usr/i686-pc-mingw32 --without-x --disable-shared --enable-replace-glut --disable-debug > > make install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= EXPORT_FLAGS='-DFREEGLUT_STATIC' DESTDIR=${DESTDIR} > > cd - > > rm -rfv ${DIR} > > > > Here are the files I have: > > $ tree /tmp/i686-pc-mingw32-freeglut-2.8.1 > > /tmp/i686-pc-mingw32-freeglut-2.8.1 > > `-- usr > > `-- i686-pc-mingw32 > > |-- include > > | `-- GL > > | |-- freeglut_ext.h > > | |-- freeglut.h > > | |-- freeglut_std.h > > | `-- glut.h > > `-- lib > > |-- libglut.a > > `-- libglut.la > > > > 5 directories, 6 files > > > > Now, if I try to to cross-compile programs using OpenGL [2] (a sample from the mesa-demo called "logo"), this is the result: > > $ i686-pc-mingw32-gcc logo.c -lopengl32 -lglu32 -lglut > > /tmp/ccDMEUpT.o:logo.c:(.text+0xe): undefined reference to `_imp__glutGet@4' > > /tmp/ccDMEUpT.o:logo.c:(.text+0xb0): undefined reference to `_imp__glutSetColor@16' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x152): undefined reference to `_imp__glutSetColor@16' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x1ae): undefined reference to `_imp__glutSetColor@16' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x243): undefined reference to `_imp__glutSetColor@16' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x2857): undefined reference to `_imp__glutPostRedisplay@0' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x2f56): undefined reference to `_imp__glutPostRedisplay@0' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x3031): undefined reference to `_imp__glutSwapBuffers@0' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x318c): undefined reference to `_imp__glutInit@8' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x31c6): undefined reference to `_imp__glutInitWindowPosition@8' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x31df): undefined reference to `_imp__glutInitWindowSize@8' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x321e): undefined reference to `_imp__glutInitDisplayMode@4' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x322f): undefined reference to `_imp__glutCreateWindow@4' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x325a): undefined reference to `_imp__glutReshapeFunc@4' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x326b): undefined reference to `_imp__glutKeyboardFunc@4' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x327c): undefined reference to `_imp__glutSpecialFunc@4' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x328d): undefined reference to `_imp__glutDisplayFunc@4' > > /tmp/ccDMEUpT.o:logo.c:(.text+0x3297): undefined reference to `_imp__glutMainLoop@0' > > collect2: error: ld returned 1 exit status > > > > Do you know why I got this strange error about undefined functions ? > > > > [1] https://github.com/mxe/mxe/blob/master/src/freeglut.mk > > [2] http://cgit.freedesktop.org/mesa/demos/tree/src/samples/logo.c?id=mesa-demos-8.1.0 > > > > On Sun, 16 Jun 2013 13:40:05 +0200 > > YuGiOhJCJ Mailing-List <yug...@la...> wrote: > > > >>>> Looks like you're trying to link FreeGLUT statically, but when the > >>>> freeglut header was included, > >>>> it assumed .dll > >>> > >>> That is a bit strange that it tries to link statically because I have not activated an option for this behaviour. > >>> Anyway, I prefer to link FreeGLUT dynamically, it is more common to have dynamic libraries. > >>> How to do that ? > >>> > >>>> You need to define something along the lines of > >>>> GLUT_STATIC or similar > >>>> at build time. > >>> > >>> I don't understand. > >>> What lines exactly and in what files ? > >>> > >> > >> I have seen a warning message that could be the key to solve my problem: > >> $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" > >> $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no > >> $ make > >> [...] > >> /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 -lgdi32 - > l > > winmm -lwgl -lm > >> > >> *** Warning: linker path does not have real file for library -lwgl. > >> *** I have the capability to make that library automatically link in when > >> *** you link to this library. But I can only do this if you have a > >> *** shared version of the library, which you do not appear to have > >> *** because I did check the linker path looking for a file starting > >> *** with libwgl and none of the candidates passed a file format test > >> *** using a file magic. Last file checked: /usr/i686-pc-mingw32/lib/libwgl.a > >> *** The inter-library dependencies that have been dropped here will be > >> *** automatically added whenever a program is linked with this library > >> *** or is declared to -dlopen it. > >> > >> *** Since this library must not contain undefined symbols, > >> *** because either the platform does not support them or > >> *** it was explicitly requested with -no-undefined, > >> *** libtool will only create a static version of it. > >> > >> I have added "-lwgl" in "configure.ac" manually to resolve the first problem (undefined reference to `wglGetProcAddress@4'). > >> Now, I try to correct the second problem (undefined reference to `_imp__glutGetWindow@0'). > >> But this warning message may means that the first problem is not completely resolved. > >> > >> What do you think about that ? > >> > >> ------------------------------------------------------------------------------ > >> This SF.net email is sponsored by Windows: > >> > >> Build for Windows Store. > >> > >> http://p.sf.net/sfu/windows-dev2dev > >> _______________________________________________ > >> Freeglut-developer mailing list > >> Fre...@li... > >> https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > > > ------------------------------------------------------------------------------ > > Get your SQL database under version control now! > > Version control is standard for application code, but databases havent > > caught up. So what steps can you take to put your SQL databases under > > version control? Why should you start doing it? Read more to find out. > > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > > _______________________________________________ > > Freeglut-developer mailing list > > Fre...@li... > > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > > > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: Clemens S. <cs1...@fh...> - 2013-08-04 08:55:34
|
Sorry: No I'm wrong, this should be fine. I'm compiling freeglut on Linux too, but I'm not doing the cross-compilation. Given your naming-scheme, -lglut should be fine. Have you tried to change the include #include "glut_wrap.h" to #include <GL/freeglut.h> in your "logo.c" file? Maybe there's someone experienced with cross-compilation... Am 02.08.2013 22:48, schrieb YuGiOhJCJ Mailing-List: > $ i686-pc-mingw32-gcc logo.c -lfreeglut -lglu32 -lopengl32 > /usr/lib/gcc/i686-pc-mingw32/4.8.0/../../../../i686-pc-mingw32/bin/ld: cannot find -lfreeglut > collect2: error: ld returned 1 exit status > > Do you think my library should be named libfreeglut.a instead of libglut.a ? > > On Fri, 02 Aug 2013 09:57:17 +0200 > Clemens Schäfermeier <cs1...@fh...> wrote: > >> Hi, >> what happens if you use >> -lfreeglut -lglu32 -lopengl32 >> instead >> -lopengl32 -lglu32 -lglut >> ? And thanks for sending the script! >> Clemens >> >> Am 02.08.2013 06:07, schrieb YuGiOhJCJ Mailing-List: >>> OK I found how to cross-compile freeglut-2.8.1 to be able to cross-compile programs using OpenGL. >>> In fact, you just need to watch at the MXE project [1] to understand how to do. >>> >>> This is the script I use to cross-compile freeglut-2.8.1: >>> set -e >>> DIR="freeglut-2.8.1" >>> DESTDIR="/tmp/i686-pc-mingw32-${DIR}" >>> tar xvf ${DIR}.tar.gz >>> cd ${DIR} >>> ./configure --prefix=/usr/i686-pc-mingw32 --without-x --disable-shared --enable-replace-glut --disable-debug >>> make install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= EXPORT_FLAGS='-DFREEGLUT_STATIC' DESTDIR=${DESTDIR} >>> cd - >>> rm -rfv ${DIR} >>> >>> Here are the files I have: >>> $ tree /tmp/i686-pc-mingw32-freeglut-2.8.1 >>> /tmp/i686-pc-mingw32-freeglut-2.8.1 >>> `-- usr >>> `-- i686-pc-mingw32 >>> |-- include >>> | `-- GL >>> | |-- freeglut_ext.h >>> | |-- freeglut.h >>> | |-- freeglut_std.h >>> | `-- glut.h >>> `-- lib >>> |-- libglut.a >>> `-- libglut.la >>> >>> 5 directories, 6 files >>> >>> Now, if I try to to cross-compile programs using OpenGL [2] (a sample from the mesa-demo called "logo"), this is the result: >>> $ i686-pc-mingw32-gcc logo.c -lopengl32 -lglu32 -lglut >>> /tmp/ccDMEUpT.o:logo.c:(.text+0xe): undefined reference to `_imp__glutGet@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0xb0): undefined reference to `_imp__glutSetColor@16' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x152): undefined reference to `_imp__glutSetColor@16' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x1ae): undefined reference to `_imp__glutSetColor@16' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x243): undefined reference to `_imp__glutSetColor@16' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x2857): undefined reference to `_imp__glutPostRedisplay@0' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x2f56): undefined reference to `_imp__glutPostRedisplay@0' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x3031): undefined reference to `_imp__glutSwapBuffers@0' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x318c): undefined reference to `_imp__glutInit@8' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x31c6): undefined reference to `_imp__glutInitWindowPosition@8' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x31df): undefined reference to `_imp__glutInitWindowSize@8' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x321e): undefined reference to `_imp__glutInitDisplayMode@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x322f): undefined reference to `_imp__glutCreateWindow@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x325a): undefined reference to `_imp__glutReshapeFunc@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x326b): undefined reference to `_imp__glutKeyboardFunc@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x327c): undefined reference to `_imp__glutSpecialFunc@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x328d): undefined reference to `_imp__glutDisplayFunc@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x3297): undefined reference to `_imp__glutMainLoop@0' >>> collect2: error: ld returned 1 exit status >>> >>> Do you know why I got this strange error about undefined functions ? >>> >>> [1] https://github.com/mxe/mxe/blob/master/src/freeglut.mk >>> [2] http://cgit.freedesktop.org/mesa/demos/tree/src/samples/logo.c?id=mesa-demos-8.1.0 >>> >>> On Sun, 16 Jun 2013 13:40:05 +0200 >>> YuGiOhJCJ Mailing-List <yug...@la...> wrote: >>> >>>>>> Looks like you're trying to link FreeGLUT statically, but when the >>>>>> freeglut header was included, >>>>>> it assumed .dll >>>>> >>>>> That is a bit strange that it tries to link statically because I have not activated an option for this behaviour. >>>>> Anyway, I prefer to link FreeGLUT dynamically, it is more common to have dynamic libraries. >>>>> How to do that ? >>>>> >>>>>> You need to define something along the lines of >>>>>> GLUT_STATIC or similar >>>>>> at build time. >>>>> >>>>> I don't understand. >>>>> What lines exactly and in what files ? >>>>> >>>> >>>> I have seen a warning message that could be the key to solve my problem: >>>> $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" >>>> $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no >>>> $ make >>>> [...] >>>> /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 -lgdi32 - >> l >>> winmm -lwgl -lm >>>> >>>> *** Warning: linker path does not have real file for library -lwgl. >>>> *** I have the capability to make that library automatically link in when >>>> *** you link to this library. But I can only do this if you have a >>>> *** shared version of the library, which you do not appear to have >>>> *** because I did check the linker path looking for a file starting >>>> *** with libwgl and none of the candidates passed a file format test >>>> *** using a file magic. Last file checked: /usr/i686-pc-mingw32/lib/libwgl.a >>>> *** The inter-library dependencies that have been dropped here will be >>>> *** automatically added whenever a program is linked with this library >>>> *** or is declared to -dlopen it. >>>> >>>> *** Since this library must not contain undefined symbols, >>>> *** because either the platform does not support them or >>>> *** it was explicitly requested with -no-undefined, >>>> *** libtool will only create a static version of it. >>>> >>>> I have added "-lwgl" in "configure.ac" manually to resolve the first problem (undefined reference to `wglGetProcAddress@4'). >>>> Now, I try to correct the second problem (undefined reference to `_imp__glutGetWindow@0'). >>>> But this warning message may means that the first problem is not completely resolved. >>>> >>>> What do you think about that ? >>>> >>>> ------------------------------------------------------------------------------ >>>> This SF.net email is sponsored by Windows: >>>> >>>> Build for Windows Store. >>>> >>>> http://p.sf.net/sfu/windows-dev2dev >>>> _______________________________________________ >>>> Freeglut-developer mailing list >>>> Fre...@li... >>>> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >>> >>> ------------------------------------------------------------------------------ >>> Get your SQL database under version control now! >>> Version control is standard for application code, but databases havent >>> caught up. So what steps can you take to put your SQL databases under >>> version control? Why should you start doing it? Read more to find out. >>> http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Freeglut-developer mailing list >>> Fre...@li... >>> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >>> >> >> >> ------------------------------------------------------------------------------ >> Get your SQL database under version control now! >> Version control is standard for application code, but databases havent >> caught up. So what steps can you take to put your SQL databases under >> version control? Why should you start doing it? Read more to find out. >> http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk >> _______________________________________________ >> Freeglut-developer mailing list >> Fre...@li... >> https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > |
From: YuGiOhJCJ Mailing-L. <yug...@la...> - 2013-08-04 09:54:10
|
If I replace '#include "glut_wrap.h"' by '#include <GL/freeglut.h>' in my 'logo.c' file, I have the same problem: $ i686-pc-mingw32-gcc logo.c -lopengl32 -lglu32 -lglut /tmp/cca7SeUx.o:logo.c:(.text+0xe): undefined reference to `_imp__glutGet@4' /tmp/cca7SeUx.o:logo.c:(.text+0xb0): undefined reference to `_imp__glutSetColor@16' /tmp/cca7SeUx.o:logo.c:(.text+0x152): undefined reference to `_imp__glutSetColor@16' /tmp/cca7SeUx.o:logo.c:(.text+0x1ae): undefined reference to `_imp__glutSetColor@16' /tmp/cca7SeUx.o:logo.c:(.text+0x243): undefined reference to `_imp__glutSetColor@16' /tmp/cca7SeUx.o:logo.c:(.text+0x2857): undefined reference to `_imp__glutPostRedisplay@0' /tmp/cca7SeUx.o:logo.c:(.text+0x2f56): undefined reference to `_imp__glutPostRedisplay@0' /tmp/cca7SeUx.o:logo.c:(.text+0x3031): undefined reference to `_imp__glutSwapBuffers@0' /tmp/cca7SeUx.o:logo.c:(.text+0x318c): undefined reference to `_imp__glutInit@8' /tmp/cca7SeUx.o:logo.c:(.text+0x31c6): undefined reference to `_imp__glutInitWindowPosition@8' /tmp/cca7SeUx.o:logo.c:(.text+0x31df): undefined reference to `_imp__glutInitWindowSize@8' /tmp/cca7SeUx.o:logo.c:(.text+0x321e): undefined reference to `_imp__glutInitDisplayMode@4' /tmp/cca7SeUx.o:logo.c:(.text+0x322f): undefined reference to `_imp__glutCreateWindow@4' /tmp/cca7SeUx.o:logo.c:(.text+0x325a): undefined reference to `_imp__glutReshapeFunc@4' /tmp/cca7SeUx.o:logo.c:(.text+0x326b): undefined reference to `_imp__glutKeyboardFunc@4' /tmp/cca7SeUx.o:logo.c:(.text+0x327c): undefined reference to `_imp__glutSpecialFunc@4' /tmp/cca7SeUx.o:logo.c:(.text+0x328d): undefined reference to `_imp__glutDisplayFunc@4' /tmp/cca7SeUx.o:logo.c:(.text+0x3297): undefined reference to `_imp__glutMainLoop@0' collect2: error: ld returned 1 exit status Any other idea ? On Sun, 04 Aug 2013 10:55:22 +0200 Clemens Schäfermeier <cs1...@fh...> wrote: > Sorry: No I'm wrong, this should be fine. I'm compiling freeglut on > Linux too, but I'm not doing the cross-compilation. Given your > naming-scheme, -lglut should be fine. Have you tried to change the > include #include "glut_wrap.h" to #include <GL/freeglut.h> in your > "logo.c" file? Maybe there's someone experienced with cross-compilation... > > Am 02.08.2013 22:48, schrieb YuGiOhJCJ Mailing-List: > > $ i686-pc-mingw32-gcc logo.c -lfreeglut -lglu32 -lopengl32 > > /usr/lib/gcc/i686-pc-mingw32/4.8.0/../../../../i686-pc-mingw32/bin/ld: cannot find -lfreeglut > > collect2: error: ld returned 1 exit status > > > > Do you think my library should be named libfreeglut.a instead of libglut.a ? > > > > On Fri, 02 Aug 2013 09:57:17 +0200 > > Clemens Schäfermeier <cs1...@fh...> wrote: > > > >> Hi, > >> what happens if you use > >> -lfreeglut -lglu32 -lopengl32 > >> instead > >> -lopengl32 -lglu32 -lglut > >> ? And thanks for sending the script! > >> Clemens > >> > >> Am 02.08.2013 06:07, schrieb YuGiOhJCJ Mailing-List: > >>> OK I found how to cross-compile freeglut-2.8.1 to be able to cross-compile programs using OpenGL. > >>> In fact, you just need to watch at the MXE project [1] to understand how to do. > >>> > >>> This is the script I use to cross-compile freeglut-2.8.1: > >>> set -e > >>> DIR="freeglut-2.8.1" > >>> DESTDIR="/tmp/i686-pc-mingw32-${DIR}" > >>> tar xvf ${DIR}.tar.gz > >>> cd ${DIR} > >>> ./configure --prefix=/usr/i686-pc-mingw32 --without-x --disable-shared --enable-replace-glut --disable-debug > >>> make install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= EXPORT_FLAGS='-DFREEGLUT_STATIC' DESTDIR=${DESTDIR} > >>> cd - > >>> rm -rfv ${DIR} > >>> > >>> Here are the files I have: > >>> $ tree /tmp/i686-pc-mingw32-freeglut-2.8.1 > >>> /tmp/i686-pc-mingw32-freeglut-2.8.1 > >>> `-- usr > >>> `-- i686-pc-mingw32 > >>> |-- include > >>> | `-- GL > >>> | |-- freeglut_ext.h > >>> | |-- freeglut.h > >>> | |-- freeglut_std.h > >>> | `-- glut.h > >>> `-- lib > >>> |-- libglut.a > >>> `-- libglut.la > >>> > >>> 5 directories, 6 files > >>> > >>> Now, if I try to to cross-compile programs using OpenGL [2] (a sample from the mesa-demo called "logo"), this is the result: > >>> $ i686-pc-mingw32-gcc logo.c -lopengl32 -lglu32 -lglut > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0xe): undefined reference to `_imp__glutGet@4' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0xb0): undefined reference to `_imp__glutSetColor@16' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x152): undefined reference to `_imp__glutSetColor@16' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x1ae): undefined reference to `_imp__glutSetColor@16' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x243): undefined reference to `_imp__glutSetColor@16' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x2857): undefined reference to `_imp__glutPostRedisplay@0' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x2f56): undefined reference to `_imp__glutPostRedisplay@0' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x3031): undefined reference to `_imp__glutSwapBuffers@0' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x318c): undefined reference to `_imp__glutInit@8' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x31c6): undefined reference to `_imp__glutInitWindowPosition@8' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x31df): undefined reference to `_imp__glutInitWindowSize@8' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x321e): undefined reference to `_imp__glutInitDisplayMode@4' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x322f): undefined reference to `_imp__glutCreateWindow@4' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x325a): undefined reference to `_imp__glutReshapeFunc@4' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x326b): undefined reference to `_imp__glutKeyboardFunc@4' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x327c): undefined reference to `_imp__glutSpecialFunc@4' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x328d): undefined reference to `_imp__glutDisplayFunc@4' > >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x3297): undefined reference to `_imp__glutMainLoop@0' > >>> collect2: error: ld returned 1 exit status > >>> > >>> Do you know why I got this strange error about undefined functions ? > >>> > >>> [1] https://github.com/mxe/mxe/blob/master/src/freeglut.mk > >>> [2] http://cgit.freedesktop.org/mesa/demos/tree/src/samples/logo.c?id=mesa-demos-8.1.0 > >>> > >>> On Sun, 16 Jun 2013 13:40:05 +0200 > >>> YuGiOhJCJ Mailing-List <yug...@la...> wrote: > >>> > >>>>>> Looks like you're trying to link FreeGLUT statically, but when the > >>>>>> freeglut header was included, > >>>>>> it assumed .dll > >>>>> > >>>>> That is a bit strange that it tries to link statically because I have not activated an option for this behaviour. > >>>>> Anyway, I prefer to link FreeGLUT dynamically, it is more common to have dynamic libraries. > >>>>> How to do that ? > >>>>> > >>>>>> You need to define something along the lines of > >>>>>> GLUT_STATIC or similar > >>>>>> at build time. > >>>>> > >>>>> I don't understand. > >>>>> What lines exactly and in what files ? > >>>>> > >>>> > >>>> I have seen a warning message that could be the key to solve my problem: > >>>> $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" > >>>> $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 --with-x=no > >>>> $ make > >>>> [...] > >>>> /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 -lgdi32 - > >> l > >>> winmm -lwgl -lm > >>>> > >>>> *** Warning: linker path does not have real file for library -lwgl. > >>>> *** I have the capability to make that library automatically link in when > >>>> *** you link to this library. But I can only do this if you have a > >>>> *** shared version of the library, which you do not appear to have > >>>> *** because I did check the linker path looking for a file starting > >>>> *** with libwgl and none of the candidates passed a file format test > >>>> *** using a file magic. Last file checked: /usr/i686-pc-mingw32/lib/libwgl.a > >>>> *** The inter-library dependencies that have been dropped here will be > >>>> *** automatically added whenever a program is linked with this library > >>>> *** or is declared to -dlopen it. > >>>> > >>>> *** Since this library must not contain undefined symbols, > >>>> *** because either the platform does not support them or > >>>> *** it was explicitly requested with -no-undefined, > >>>> *** libtool will only create a static version of it. > >>>> > >>>> I have added "-lwgl" in "configure.ac" manually to resolve the first problem (undefined reference to `wglGetProcAddress@4'). > >>>> Now, I try to correct the second problem (undefined reference to `_imp__glutGetWindow@0'). > >>>> But this warning message may means that the first problem is not completely resolved. > >>>> > >>>> What do you think about that ? > >>>> > >>>> ------------------------------------------------------------------------------ > >>>> This SF.net email is sponsored by Windows: > >>>> > >>>> Build for Windows Store. > >>>> > >>>> http://p.sf.net/sfu/windows-dev2dev > >>>> _______________________________________________ > >>>> Freeglut-developer mailing list > >>>> Fre...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/freeglut-developer > >>> > >>> ------------------------------------------------------------------------------ > >>> Get your SQL database under version control now! > >>> Version control is standard for application code, but databases havent > >>> caught up. So what steps can you take to put your SQL databases under > >>> version control? Why should you start doing it? Read more to find out. > >>> http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > >>> _______________________________________________ > >>> Freeglut-developer mailing list > >>> Fre...@li... > >>> https://lists.sourceforge.net/lists/listinfo/freeglut-developer > >>> > >> > >> > >> ------------------------------------------------------------------------------ > >> Get your SQL database under version control now! > >> Version control is standard for application code, but databases havent > >> caught up. So what steps can you take to put your SQL databases under > >> version control? Why should you start doing it? Read more to find out. > >> http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > >> _______________________________________________ > >> Freeglut-developer mailing list > >> Fre...@li... > >> https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > > > ------------------------------------------------------------------------------ > > Get your SQL database under version control now! > > Version control is standard for application code, but databases havent > > caught up. So what steps can you take to put your SQL databases under > > version control? Why should you start doing it? Read more to find out. > > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > > _______________________________________________ > > Freeglut-developer mailing list > > Fre...@li... > > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > > > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: Fay, J. F C. U. A. AFLCMC/X. <joh...@eg...> - 2013-08-05 21:47:43
Attachments:
smime.p7s
|
Folks, It looks very much like you are compiling the C library in a C++ compiler. The "@4" (and the like) extensions, if I remember correctly, are decorations that C++ adds on to the function names to allow for multiple functions with the same name. Since the "freeglut" library is compiled in C, it does not have those decorations. John F. Fay Technical Fellow, Modeling and Simulation Jacobs TEAS Team 1030 Titan Ct., Fort Walton Beach, FL 32547 850-883-3496 -----Original Message----- From: Clemens Schäfermeier [mailto:cs1...@fh...] Sent: Sunday, August 04, 2013 3:55 AM To: FreeGLUT developers list Subject: Re: [Freeglut-developer] cross-compiling: undefined reference to `wglGetProcAddress@4' Sorry: No I'm wrong, this should be fine. I'm compiling freeglut on Linux too, but I'm not doing the cross-compilation. Given your naming-scheme, -lglut should be fine. Have you tried to change the include #include "glut_wrap.h" to #include <GL/freeglut.h> in your "logo.c" file? Maybe there's someone experienced with cross-compilation... Am 02.08.2013 22:48, schrieb YuGiOhJCJ Mailing-List: > $ i686-pc-mingw32-gcc logo.c -lfreeglut -lglu32 -lopengl32 > /usr/lib/gcc/i686-pc-mingw32/4.8.0/../../../../i686-pc-mingw32/bin/ld: > cannot find -lfreeglut > collect2: error: ld returned 1 exit status > > Do you think my library should be named libfreeglut.a instead of libglut.a ? > > On Fri, 02 Aug 2013 09:57:17 +0200 > Clemens Schäfermeier <cs1...@fh...> wrote: > >> Hi, >> what happens if you use >> -lfreeglut -lglu32 -lopengl32 >> instead >> -lopengl32 -lglu32 -lglut >> ? And thanks for sending the script! >> Clemens >> >> Am 02.08.2013 06:07, schrieb YuGiOhJCJ Mailing-List: >>> OK I found how to cross-compile freeglut-2.8.1 to be able to cross-compile programs using OpenGL. >>> In fact, you just need to watch at the MXE project [1] to understand how to do. >>> >>> This is the script I use to cross-compile freeglut-2.8.1: >>> set -e >>> DIR="freeglut-2.8.1" >>> DESTDIR="/tmp/i686-pc-mingw32-${DIR}" >>> tar xvf ${DIR}.tar.gz >>> cd ${DIR} >>> ./configure --prefix=/usr/i686-pc-mingw32 --without-x >>> --disable-shared --enable-replace-glut --disable-debug make install >>> bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= >>> EXPORT_FLAGS='-DFREEGLUT_STATIC' DESTDIR=${DESTDIR} cd - rm -rfv >>> ${DIR} >>> >>> Here are the files I have: >>> $ tree /tmp/i686-pc-mingw32-freeglut-2.8.1 >>> /tmp/i686-pc-mingw32-freeglut-2.8.1 >>> `-- usr >>> `-- i686-pc-mingw32 >>> |-- include >>> | `-- GL >>> | |-- freeglut_ext.h >>> | |-- freeglut.h >>> | |-- freeglut_std.h >>> | `-- glut.h >>> `-- lib >>> |-- libglut.a >>> `-- libglut.la >>> >>> 5 directories, 6 files >>> >>> Now, if I try to to cross-compile programs using OpenGL [2] (a sample from the mesa-demo called "logo"), this is the result: >>> $ i686-pc-mingw32-gcc logo.c -lopengl32 -lglu32 -lglut >>> /tmp/ccDMEUpT.o:logo.c:(.text+0xe): undefined reference to `_imp__glutGet@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0xb0): undefined reference to `_imp__glutSetColor@16' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x152): undefined reference to `_imp__glutSetColor@16' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x1ae): undefined reference to `_imp__glutSetColor@16' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x243): undefined reference to `_imp__glutSetColor@16' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x2857): undefined reference to `_imp__glutPostRedisplay@0' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x2f56): undefined reference to `_imp__glutPostRedisplay@0' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x3031): undefined reference to `_imp__glutSwapBuffers@0' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x318c): undefined reference to `_imp__glutInit@8' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x31c6): undefined reference to `_imp__glutInitWindowPosition@8' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x31df): undefined reference to `_imp__glutInitWindowSize@8' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x321e): undefined reference to `_imp__glutInitDisplayMode@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x322f): undefined reference to `_imp__glutCreateWindow@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x325a): undefined reference to `_imp__glutReshapeFunc@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x326b): undefined reference to `_imp__glutKeyboardFunc@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x327c): undefined reference to `_imp__glutSpecialFunc@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x328d): undefined reference to `_imp__glutDisplayFunc@4' >>> /tmp/ccDMEUpT.o:logo.c:(.text+0x3297): undefined reference to `_imp__glutMainLoop@0' >>> collect2: error: ld returned 1 exit status >>> >>> Do you know why I got this strange error about undefined functions ? >>> >>> [1] https://github.com/mxe/mxe/blob/master/src/freeglut.mk >>> [2] >>> http://cgit.freedesktop.org/mesa/demos/tree/src/samples/logo.c?id=me >>> sa-demos-8.1.0 >>> >>> On Sun, 16 Jun 2013 13:40:05 +0200 >>> YuGiOhJCJ Mailing-List <yug...@la...> wrote: >>> >>>>>> Looks like you're trying to link FreeGLUT statically, but when >>>>>> the freeglut header was included, it assumed .dll >>>>> >>>>> That is a bit strange that it tries to link statically because I have not activated an option for this behaviour. >>>>> Anyway, I prefer to link FreeGLUT dynamically, it is more common to have dynamic libraries. >>>>> How to do that ? >>>>> >>>>>> You need to define something along the lines of GLUT_STATIC or >>>>>> similar at build time. >>>>> >>>>> I don't understand. >>>>> What lines exactly and in what files ? >>>>> >>>> >>>> I have seen a warning message that could be the key to solve my problem: >>>> $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" >>>> $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 >>>> --with-x=no $ make [...] >>>> /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 -lgdi32 - >> l >>> winmm -lwgl -lm >>>> >>>> *** Warning: linker path does not have real file for library -lwgl. >>>> *** I have the capability to make that library automatically link >>>> in when >>>> *** you link to this library. But I can only do this if you have a >>>> *** shared version of the library, which you do not appear to have >>>> *** because I did check the linker path looking for a file starting >>>> *** with libwgl and none of the candidates passed a file format >>>> test >>>> *** using a file magic. Last file checked: >>>> /usr/i686-pc-mingw32/lib/libwgl.a >>>> *** The inter-library dependencies that have been dropped here will >>>> be >>>> *** automatically added whenever a program is linked with this >>>> library >>>> *** or is declared to -dlopen it. >>>> >>>> *** Since this library must not contain undefined symbols, >>>> *** because either the platform does not support them or >>>> *** it was explicitly requested with -no-undefined, >>>> *** libtool will only create a static version of it. >>>> >>>> I have added "-lwgl" in "configure.ac" manually to resolve the first problem (undefined reference to `wglGetProcAddress@4'). >>>> Now, I try to correct the second problem (undefined reference to `_imp__glutGetWindow@0'). >>>> But this warning message may means that the first problem is not completely resolved. >>>> >>>> What do you think about that ? >>>> >>>> ------------------------------------------------------------------- >>>> ----------- This SF.net email is sponsored by Windows: >>>> >>>> Build for Windows Store. >>>> >>>> http://p.sf.net/sfu/windows-dev2dev >>>> _______________________________________________ >>>> Freeglut-developer mailing list >>>> Fre...@li... >>>> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >>> >>> -------------------------------------------------------------------- >>> ---------- Get your SQL database under version control now! >>> Version control is standard for application code, but databases >>> havent caught up. So what steps can you take to put your SQL >>> databases under version control? Why should you start doing it? Read more to find out. >>> http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg >>> .clktrk _______________________________________________ >>> Freeglut-developer mailing list >>> Fre...@li... >>> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >>> >> >> >> --------------------------------------------------------------------- >> --------- Get your SQL database under version control now! >> Version control is standard for application code, but databases >> havent caught up. So what steps can you take to put your SQL >> databases under version control? Why should you start doing it? Read more to find out. >> http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg. >> clktrk _______________________________________________ >> Freeglut-developer mailing list >> Fre...@li... >> https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > ---------------------------------------------------------------------- > -------- Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.c > lktrk _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > ---------------------------------------------------------------------------- -- Get your SQL database under version control now! Version control is standard for application code, but databases havent caught up. So what steps can you take to put your SQL databases under version control? Why should you start doing it? Read more to find out. http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk _______________________________________________ Freeglut-developer mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: Nigel S. <nig...@gm...> - 2013-08-07 16:24:13
|
My wand-wavey theory would concern Windows calling convention - stdcall versus ccall - and the odditity with opengl32.dll that they appear to be one, but are actually the other. If I recall correctly with the MS toolchains you need to use a .def file to get the opengl32.dll or glut32.dll linkage right. Don't know what that would look like in a gcc cross-build. - Nigel On Mon, Aug 5, 2013 at 4:47 PM, Fay, John F CTR USAF AFMC AFLCMC/XZWG <joh...@eg...> wrote: > Folks, > > It looks very much like you are compiling the C library in a C++ > compiler. The "@4" (and the like) extensions, if I remember correctly, are > decorations that C++ adds on to the function names to allow for multiple > functions with the same name. Since the "freeglut" library is compiled in > C, it does not have those decorations. > > John F. Fay > Technical Fellow, Modeling and Simulation > Jacobs TEAS Team > 1030 Titan Ct., Fort Walton Beach, FL 32547 > 850-883-3496 > > -----Original Message----- > From: Clemens Schäfermeier [mailto:cs1...@fh...] > Sent: Sunday, August 04, 2013 3:55 AM > To: FreeGLUT developers list > Subject: Re: [Freeglut-developer] cross-compiling: undefined reference to > `wglGetProcAddress@4' > > Sorry: No I'm wrong, this should be fine. I'm compiling freeglut on Linux > too, but I'm not doing the cross-compilation. Given your naming-scheme, > -lglut should be fine. Have you tried to change the include #include > "glut_wrap.h" to #include <GL/freeglut.h> in your "logo.c" file? Maybe > there's someone experienced with cross-compilation... > > Am 02.08.2013 22:48, schrieb YuGiOhJCJ Mailing-List: >> $ i686-pc-mingw32-gcc logo.c -lfreeglut -lglu32 -lopengl32 >> /usr/lib/gcc/i686-pc-mingw32/4.8.0/../../../../i686-pc-mingw32/bin/ld: >> cannot find -lfreeglut >> collect2: error: ld returned 1 exit status >> >> Do you think my library should be named libfreeglut.a instead of libglut.a > ? >> >> On Fri, 02 Aug 2013 09:57:17 +0200 >> Clemens Schäfermeier <cs1...@fh...> wrote: >> >>> Hi, >>> what happens if you use >>> -lfreeglut -lglu32 -lopengl32 >>> instead >>> -lopengl32 -lglu32 -lglut >>> ? And thanks for sending the script! >>> Clemens >>> >>> Am 02.08.2013 06:07, schrieb YuGiOhJCJ Mailing-List: >>>> OK I found how to cross-compile freeglut-2.8.1 to be able to > cross-compile programs using OpenGL. >>>> In fact, you just need to watch at the MXE project [1] to understand how > to do. >>>> >>>> This is the script I use to cross-compile freeglut-2.8.1: >>>> set -e >>>> DIR="freeglut-2.8.1" >>>> DESTDIR="/tmp/i686-pc-mingw32-${DIR}" >>>> tar xvf ${DIR}.tar.gz >>>> cd ${DIR} >>>> ./configure --prefix=/usr/i686-pc-mingw32 --without-x >>>> --disable-shared --enable-replace-glut --disable-debug make install >>>> bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= >>>> EXPORT_FLAGS='-DFREEGLUT_STATIC' DESTDIR=${DESTDIR} cd - rm -rfv >>>> ${DIR} >>>> >>>> Here are the files I have: >>>> $ tree /tmp/i686-pc-mingw32-freeglut-2.8.1 >>>> /tmp/i686-pc-mingw32-freeglut-2.8.1 >>>> `-- usr >>>> `-- i686-pc-mingw32 >>>> |-- include >>>> | `-- GL >>>> | |-- freeglut_ext.h >>>> | |-- freeglut.h >>>> | |-- freeglut_std.h >>>> | `-- glut.h >>>> `-- lib >>>> |-- libglut.a >>>> `-- libglut.la >>>> >>>> 5 directories, 6 files >>>> >>>> Now, if I try to to cross-compile programs using OpenGL [2] (a sample > from the mesa-demo called "logo"), this is the result: >>>> $ i686-pc-mingw32-gcc logo.c -lopengl32 -lglu32 -lglut >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0xe): undefined reference to > `_imp__glutGet@4' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0xb0): undefined reference to > `_imp__glutSetColor@16' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x152): undefined reference to > `_imp__glutSetColor@16' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x1ae): undefined reference to > `_imp__glutSetColor@16' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x243): undefined reference to > `_imp__glutSetColor@16' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x2857): undefined reference to > `_imp__glutPostRedisplay@0' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x2f56): undefined reference to > `_imp__glutPostRedisplay@0' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x3031): undefined reference to > `_imp__glutSwapBuffers@0' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x318c): undefined reference to > `_imp__glutInit@8' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x31c6): undefined reference to > `_imp__glutInitWindowPosition@8' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x31df): undefined reference to > `_imp__glutInitWindowSize@8' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x321e): undefined reference to > `_imp__glutInitDisplayMode@4' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x322f): undefined reference to > `_imp__glutCreateWindow@4' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x325a): undefined reference to > `_imp__glutReshapeFunc@4' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x326b): undefined reference to > `_imp__glutKeyboardFunc@4' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x327c): undefined reference to > `_imp__glutSpecialFunc@4' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x328d): undefined reference to > `_imp__glutDisplayFunc@4' >>>> /tmp/ccDMEUpT.o:logo.c:(.text+0x3297): undefined reference to > `_imp__glutMainLoop@0' >>>> collect2: error: ld returned 1 exit status >>>> >>>> Do you know why I got this strange error about undefined functions ? >>>> >>>> [1] https://github.com/mxe/mxe/blob/master/src/freeglut.mk >>>> [2] >>>> http://cgit.freedesktop.org/mesa/demos/tree/src/samples/logo.c?id=me >>>> sa-demos-8.1.0 >>>> >>>> On Sun, 16 Jun 2013 13:40:05 +0200 >>>> YuGiOhJCJ Mailing-List <yug...@la...> wrote: >>>> >>>>>>> Looks like you're trying to link FreeGLUT statically, but when >>>>>>> the freeglut header was included, it assumed .dll >>>>>> >>>>>> That is a bit strange that it tries to link statically because I have > not activated an option for this behaviour. >>>>>> Anyway, I prefer to link FreeGLUT dynamically, it is more common to > have dynamic libraries. >>>>>> How to do that ? >>>>>> >>>>>>> You need to define something along the lines of GLUT_STATIC or >>>>>>> similar at build time. >>>>>> >>>>>> I don't understand. >>>>>> What lines exactly and in what files ? >>>>>> >>>>> >>>>> I have seen a warning message that could be the key to solve my > problem: >>>>> $ export PKG_CONFIG_PATH="/usr/i686-pc-mingw32/lib/pkgconfig" >>>>> $ ./configure --prefix=/usr/i686-pc-mingw32 --host=i686-pc-mingw32 >>>>> --with-x=no $ make [...] >>>>> /bin/sh ../libtool --tag=CC --mode=link i686-pc-mingw32-gcc > -DFREEGLUT_EXPORTS -g -O2 -Wall -pedantic -no-undefined -o libglut.la > -rpath /usr/i686-pc-mingw32/lib libglut_la-freeglut_callbacks.lo > libglut_la-freeglut_cursor.lo libglut_la-freeglut_display.lo > libglut_la-freeglut_ext.lo libglut_la-freeglut_font.lo > libglut_la-freeglut_glutfont_definitions.lo libglut_la-freeglut_font_data.lo > libglut_la-freeglut_stroke_roman.lo libglut_la-freeglut_stroke_mono_roman.lo > libglut_la-freeglut_gamemode.lo libglut_la-freeglut_geometry.lo > libglut_la-freeglut_init.lo libglut_la-freeglut_input_devices.lo > libglut_la-freeglut_spaceball.lo libglut_la-freeglut_joystick.lo > libglut_la-freeglut_main.lo libglut_la-freeglut_menu.lo > libglut_la-freeglut_misc.lo libglut_la-freeglut_overlay.lo > libglut_la-freeglut_state.lo libglut_la-freeglut_structure.lo > libglut_la-freeglut_teapot.lo libglut_la-freeglut_videoresize.lo > libglut_la-freeglut_window.lo libglut_la-freeglut_xinput.lo -lopengl32 > -lgdi32 - >>> l >>>> winmm -lwgl -lm >>>>> >>>>> *** Warning: linker path does not have real file for library -lwgl. >>>>> *** I have the capability to make that library automatically link >>>>> in when >>>>> *** you link to this library. But I can only do this if you have a >>>>> *** shared version of the library, which you do not appear to have >>>>> *** because I did check the linker path looking for a file starting >>>>> *** with libwgl and none of the candidates passed a file format >>>>> test >>>>> *** using a file magic. Last file checked: >>>>> /usr/i686-pc-mingw32/lib/libwgl.a >>>>> *** The inter-library dependencies that have been dropped here will >>>>> be >>>>> *** automatically added whenever a program is linked with this >>>>> library >>>>> *** or is declared to -dlopen it. >>>>> >>>>> *** Since this library must not contain undefined symbols, >>>>> *** because either the platform does not support them or >>>>> *** it was explicitly requested with -no-undefined, >>>>> *** libtool will only create a static version of it. >>>>> >>>>> I have added "-lwgl" in "configure.ac" manually to resolve the first > problem (undefined reference to `wglGetProcAddress@4'). >>>>> Now, I try to correct the second problem (undefined reference to > `_imp__glutGetWindow@0'). >>>>> But this warning message may means that the first problem is not > completely resolved. >>>>> >>>>> What do you think about that ? >>>>> >>>>> ------------------------------------------------------------------- >>>>> ----------- This SF.net email is sponsored by Windows: >>>>> >>>>> Build for Windows Store. >>>>> >>>>> http://p.sf.net/sfu/windows-dev2dev >>>>> _______________________________________________ >>>>> Freeglut-developer mailing list >>>>> Fre...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >>>> >>>> -------------------------------------------------------------------- >>>> ---------- Get your SQL database under version control now! >>>> Version control is standard for application code, but databases >>>> havent caught up. So what steps can you take to put your SQL >>>> databases under version control? Why should you start doing it? Read > more to find out. >>>> http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg >>>> .clktrk _______________________________________________ >>>> Freeglut-developer mailing list >>>> Fre...@li... >>>> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >>>> >>> >>> >>> --------------------------------------------------------------------- >>> --------- Get your SQL database under version control now! >>> Version control is standard for application code, but databases >>> havent caught up. So what steps can you take to put your SQL >>> databases under version control? Why should you start doing it? Read more > to find out. >>> http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg. >>> clktrk _______________________________________________ >>> Freeglut-developer mailing list >>> Fre...@li... >>> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >> >> ---------------------------------------------------------------------- >> -------- Get your SQL database under version control now! >> Version control is standard for application code, but databases havent >> caught up. So what steps can you take to put your SQL databases under >> version control? Why should you start doing it? Read more to find out. >> http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.c >> lktrk _______________________________________________ >> Freeglut-developer mailing list >> Fre...@li... >> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >> > > > ---------------------------------------------------------------------------- > -- > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > |
From: Clive M. <cli...@ms...> - 2014-03-22 18:59:55
|
John, I don't think it is useful as a freeglut demo program since it doesn't use almost any freeglut facilities -- just OpenGL. Others have commented that they didn't find setting up a GLSL shader very difficult. I found it quite tedious and that it involves many relatively obscure "bindings" but that is unfortunately common in OpenGL (to set up rendering to an fbo is likewise tedious). In both case there are many error checking steps that tutorial code commonly omits which is NOT a good idea. I gather that most on this list see freeglut principally as a means to portability, but I happen to think its value is _mostly_ to help people get started with OpenGL. Writing GLSL for a novice is a burden in itself, since, though it looks like C it isn't, and there are many shader concepts to grasp at the same time. The normal edit-compile-edit-debug-edit-compile cycle is made more cumbersome because the GLSL code is compiled by the GPU and, as far as I know, there are no IDE tools for this? So I wrote a small set of interfaces so that I can quickly correct my GLSL code as I learned to write it. The orange book dates back to 2006 and isn't that great for novice readers -- it commonly conflates textures with texture-units. A second book "OpenGL 4.0 Shading Language Cookbook" is better and is obviously more up to date. I'm not going to push the subject, so let's forget it. Clive. ---------------------------------------- > Date: Sat, 22 Mar 2014 11:55:55 -0500 > From: joh...@ne... > To: fre...@li... > Subject: Re: [Freeglut-developer] a GLSL shader compiler > > Clive, > > Would this be useful as a "freeglut" demo program? I've not been > involved in OpenGL for some years now and so I am not up to speed as to > what is going on here. > > - John Fay > > > On 3/19/2014 12:38 PM, Clive McCarthy wrote: >> John, Dee, Martin, Florian,& everyone else, >> I've been using freeglut for years now and it really jump started my use >> of OpenGL. It is evident from the red OpenGL book that I'm not alone in >> using Glut/freeglut as the launching pad for OpenGL work. It made >> getting 'stuff on the screen' so easy. Though freeglut's primary purpose >> is to abstract OpenGL work from whatever window system is present, and >> allow code to be portable, I think it is also clear that it is a great >> aid to novice OpenGL users. >> >> As my skill with OpenGL developed and with the 'threat' that the fixed >> pipeline might go away, I realized that I needed to learn to use >> shaders. The problem was there was no 'simple' way of getting started. I >> have the orange GLSL book but it sat on my shelf for a year or two >> before I finally got down to work. I really wished that there were a >> freeglut kind of thing for GLSL -- something to help me get started. >> There is so much preamble work necessary before one can actually run >> even a simple shader. >> >> I ended up writing a module that compiles (via the GPU) loads and >> activates shaders. It also generates C interface code to set the uniform >> variables in the shader and of course displays& writes GLSL compiler >> error logs. The shaders themselves are comprised of three code files: >> shader_foo.vert, shader-foo.frag and shader_foo.h -- the header file can >> be included in the shader code and the calling program to ensure that >> defined constants are consistent between the calling program and the >> shader code. Lastly, the code assigns textures to sampler-units on a LRU >> basis (something the GPU should really do for you!). The code is just >> 1,100 lines of C so nothing too extensive. >> >> GLSL is not part of freeglut's charter but I wonder if this module might >> be useful for novice shader writers in the same way that freeglut is for >> novice OpenGL users? >> >> If you have an interest in this I can post it to you. >> Clive. >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Learn Graph Databases - Download FREE O'Reilly Book >> "Graph Databases" is the definitive new guide to graph databases and their >> applications. Written by three acclaimed leaders in the field, >> this first edition is now available. Download your free book today! >> http://p.sf.net/sfu/13534_NeoTech >> _______________________________________________ >> Freeglut-developer mailing list >> Fre...@li... >> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >> >> > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: John F. F. <joh...@ne...> - 2014-03-22 20:25:56
|
OK. I remember Steve Baker's e-mail signature once read, "The second law of Frisbee throwing is, 'Never precede a throw with a prediction more definite than "Watch this!"' The same is true of fragment shaders." Not sure if your present shading programs are related to fragment shaders, but the concept sounds similar. On 3/22/2014 1:59 PM, Clive McCarthy wrote: > John, > I don't think it is useful as a freeglut demo program since it doesn't use almost any freeglut facilities -- just OpenGL. Others have commented that they didn't find setting up a GLSL shader very difficult. I found it quite tedious and that it involves many relatively obscure "bindings" but that is unfortunately common in OpenGL (to set up rendering to an fbo is likewise tedious). In both case there are many error checking steps that tutorial code commonly omits which is NOT a good idea. > > I gather that most on this list see freeglut principally as a means to portability, but I happen to think its value is _mostly_ to help people get started with OpenGL. > > Writing GLSL for a novice is a burden in itself, since, though it looks like C it isn't, and there are many shader concepts to grasp at the same time. The normal edit-compile-edit-debug-edit-compile cycle is made more cumbersome because the GLSL code is compiled by the GPU and, as far as I know, there are no IDE tools for this? > > So I wrote a small set of interfaces so that I can quickly correct my GLSL code as I learned to write it. The orange book dates back to 2006 and isn't that great for novice readers -- it commonly conflates textures with texture-units. A second book "OpenGL 4.0 Shading Language Cookbook" is better and is obviously more up to date. > > I'm not going to push the subject, so let's forget it. > Clive. > > ---------------------------------------- > >> Date: Sat, 22 Mar 2014 11:55:55 -0500 >> From: joh...@ne... >> To: fre...@li... >> Subject: Re: [Freeglut-developer] a GLSL shader compiler >> >> Clive, >> >> Would this be useful as a "freeglut" demo program? I've not been >> involved in OpenGL for some years now and so I am not up to speed as to >> what is going on here. >> >> - John Fay >> >> >> On 3/19/2014 12:38 PM, Clive McCarthy wrote: >> >>> John, Dee, Martin, Florian,& everyone else, >>> I've been using freeglut for years now and it really jump started my use >>> of OpenGL. It is evident from the red OpenGL book that I'm not alone in >>> using Glut/freeglut as the launching pad for OpenGL work. It made >>> getting 'stuff on the screen' so easy. Though freeglut's primary purpose >>> is to abstract OpenGL work from whatever window system is present, and >>> allow code to be portable, I think it is also clear that it is a great >>> aid to novice OpenGL users. >>> >>> As my skill with OpenGL developed and with the 'threat' that the fixed >>> pipeline might go away, I realized that I needed to learn to use >>> shaders. The problem was there was no 'simple' way of getting started. I >>> have the orange GLSL book but it sat on my shelf for a year or two >>> before I finally got down to work. I really wished that there were a >>> freeglut kind of thing for GLSL -- something to help me get started. >>> There is so much preamble work necessary before one can actually run >>> even a simple shader. >>> >>> I ended up writing a module that compiles (via the GPU) loads and >>> activates shaders. It also generates C interface code to set the uniform >>> variables in the shader and of course displays& writes GLSL compiler >>> error logs. The shaders themselves are comprised of three code files: >>> shader_foo.vert, shader-foo.frag and shader_foo.h -- the header file can >>> be included in the shader code and the calling program to ensure that >>> defined constants are consistent between the calling program and the >>> shader code. Lastly, the code assigns textures to sampler-units on a LRU >>> basis (something the GPU should really do for you!). The code is just >>> 1,100 lines of C so nothing too extensive. >>> >>> GLSL is not part of freeglut's charter but I wonder if this module might >>> be useful for novice shader writers in the same way that freeglut is for >>> novice OpenGL users? >>> >>> If you have an interest in this I can post it to you. >>> Clive. >>> >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Learn Graph Databases - Download FREE O'Reilly Book >>> "Graph Databases" is the definitive new guide to graph databases and their >>> applications. Written by three acclaimed leaders in the field, >>> this first edition is now available. Download your free book today! >>> http://p.sf.net/sfu/13534_NeoTech >>> _______________________________________________ >>> Freeglut-developer mailing list >>> Fre...@li... >>> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >>> >>> >>> >> ------------------------------------------------------------------------------ >> Learn Graph Databases - Download FREE O'Reilly Book >> "Graph Databases" is the definitive new guide to graph databases and their >> applications. Written by three acclaimed leaders in the field, >> this first edition is now available. Download your free book today! >> http://p.sf.net/sfu/13534_NeoTech >> _______________________________________________ >> Freeglut-developer mailing list >> Fre...@li... >> https://lists.sourceforge.net/lists/listinfo/freeglut-developer >> > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > |
From: John F. F. <joh...@ne...> - 2014-03-22 17:23:05
|
Clive, Would this be useful as a "freeglut" demo program? I've not been involved in OpenGL for some years now and so I am not up to speed as to what is going on here. - John Fay On 3/19/2014 12:38 PM, Clive McCarthy wrote: > John, Dee, Martin, Florian,& everyone else, > I've been using freeglut for years now and it really jump started my use > of OpenGL. It is evident from the red OpenGL book that I'm not alone in > using Glut/freeglut as the launching pad for OpenGL work. It made > getting 'stuff on the screen' so easy. Though freeglut's primary purpose > is to abstract OpenGL work from whatever window system is present, and > allow code to be portable, I think it is also clear that it is a great > aid to novice OpenGL users. > > As my skill with OpenGL developed and with the 'threat' that the fixed > pipeline might go away, I realized that I needed to learn to use > shaders. The problem was there was no 'simple' way of getting started. I > have the orange GLSL book but it sat on my shelf for a year or two > before I finally got down to work. I really wished that there were a > freeglut kind of thing for GLSL -- something to help me get started. > There is so much preamble work necessary before one can actually run > even a simple shader. > > I ended up writing a module that compiles (via the GPU) loads and > activates shaders. It also generates C interface code to set the uniform > variables in the shader and of course displays& writes GLSL compiler > error logs. The shaders themselves are comprised of three code files: > shader_foo.vert, shader-foo.frag and shader_foo.h -- the header file can > be included in the shader code and the calling program to ensure that > defined constants are consistent between the calling program and the > shader code. Lastly, the code assigns textures to sampler-units on a LRU > basis (something the GPU should really do for you!). The code is just > 1,100 lines of C so nothing too extensive. > > GLSL is not part of freeglut's charter but I wonder if this module might > be useful for novice shader writers in the same way that freeglut is for > novice OpenGL users? > > If you have an interest in this I can post it to you. > Clive. > > > > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > |
From: Paul M. <ske...@gm...> - 2014-03-22 18:26:08
|
On Sat, Mar 22, 2014 at 10:55 AM, John F. Fay <joh...@ne...> wrote: > Clive, > > Would this be useful as a "freeglut" demo program? I've not been > involved in OpenGL for some years now and so I am not up to speed as to > what is going on here. > A demo program might be the right place for it. One of the early design decisions that OpenGL made was separation between the 3D API and the windowing API. GLUT (and, as successor, freeglut) was designed to provide a common API for the heterogeneous windowing APIs (AGL, WGL, GLX). A separate utility library (GLU) was created to provide some higher level rendering functions not in OpenGL. The proposed shader support is definitely higher level functionality than available in OpenGL, but it's not necessarily related to the windowing system. So I'm not sure GLUT/freeglut would be the right place for it. And most middleware libraries (OSG, OGRE, jag-3d.googlecode.com) already have higher-level support for shaders. Sticking the code in a freeglut example, or rejecting it entirely, seems like the right option. -Paul |
From: Paul M. <ske...@gm...> - 2014-03-20 15:00:20
|
RWIW... I started using freeglut about 4 years ago and have been using it solely for OpenGL v3+ core profile / shader based rendering. It's served this purpose very well, and no additional changes are necessary in this area, IMO. Frankly, I'd like to see the old FFP dead, gone, and removed. People have wanted programmable pipelines since before the days of Renderman. Now we've got one, let's use it. I'm also realistic, and recognize we need backwards compatibility for the sake of existing code. I just don't like it when that compatibility becomes a ball and chain that impedes forward progress, which is my fear with OpenGL. The ARB tried to move the API forward with v3.0 and the backlash and outcry was deafening. -Paul |
From: John T. <nu...@me...> - 2014-03-20 16:35:36
|
On Thu, Mar 20, 2014 at 09:00:09AM -0600, Paul Martz wrote: > RWIW... I started using freeglut about 4 years ago and have been using it > solely for OpenGL v3+ core profile / shader based rendering. It's served > this purpose very well, and no additional changes are necessary in this > area, IMO. > > Frankly, I'd like to see the old FFP dead, gone, and removed. People have > wanted programmable pipelines since before the days of Renderman. Now we've > got one, let's use it. I'm also realistic, and recognize we need backwards > compatibility for the sake of existing code. I just don't like it when that > compatibility becomes a ball and chain that impedes forward progress, which > is my fear with OpenGL. The ARB tried to move the API forward with v3.0 and > the backlash and outcry was deafening. I on the other hand, feel that the removal of 75% of OpenGL, including some quite useful functionality is a step backwards. And while programmability is awesome, it doesn't have to be the *only* way to use the API. Still, this is not a relevant conversation in this mailing list. -- John Tsiombikas http://nuclear.mutantstargoat.com/ |
From: Paul M. <ske...@gm...> - 2014-03-20 17:27:05
|
On Thu, Mar 20, 2014 at 10:35 AM, John Tsiombikas <nu...@me...>wrote: > I on the other hand, feel that the removal of 75% of OpenGL, including > some quite useful functionality is a step backwards. And while > programmability is awesome, it doesn't have to be the *only* way to use > the API. > > Still, this is not a relevant conversation in this mailing list. > The fact that API entry points were removed (forcing apps to change how they access functionality) is undeniable. But since a superset of functionality is now available in a more flexible and elegant form, conceptually no functionality was actually removed. But you have an excellent point. The opengl.org forum is a better place for this discussion. |
From: Clive M. <Cli...@ms...> - 2014-03-19 17:39:20
|
John, Dee, Martin, Florian, & everyone else, I've been using freeglut for years now and it really jump started my use of OpenGL. It is evident from the red OpenGL book that I'm not alone in using Glut/freeglut as the launching pad for OpenGL work. It made getting 'stuff on the screen' so easy. Though freeglut's primary purpose is to abstract OpenGL work from whatever window system is present, and allow code to be portable, I think it is also clear that it is a great aid to novice OpenGL users. As my skill with OpenGL developed and with the 'threat' that the fixed pipeline might go away, I realized that I needed to learn to use shaders. The problem was there was no 'simple' way of getting started. I have the orange GLSL book but it sat on my shelf for a year or two before I finally got down to work. I really wished that there were a freeglut kind of thing for GLSL -- something to help me get started. There is so much preamble work necessary before one can actually run even a simple shader. I ended up writing a module that compiles (via the GPU) loads and activates shaders. It also generates C interface code to set the uniform variables in the shader and of course displays & writes GLSL compiler error logs. The shaders themselves are comprised of three code files: shader_foo.vert, shader-foo.frag and shader_foo.h -- the header file can be included in the shader code and the calling program to ensure that defined constants are consistent between the calling program and the shader code. Lastly, the code assigns textures to sampler-units on a LRU basis (something the GPU should really do for you!). The code is just 1,100 lines of C so nothing too extensive. GLSL is not part of freeglut's charter but I wonder if this module might be useful for novice shader writers in the same way that freeglut is for novice OpenGL users? If you have an interest in this I can post it to you. Clive. |
From: Joey <man...@gm...> - 2014-03-19 20:13:05
|
On 03/19/2014 06:38 PM, Clive McCarthy wrote: > John, Dee, Martin, Florian, & everyone else, > I've been using freeglut for years now and it really jump started my use > of OpenGL. It is evident from the red OpenGL book that I'm not alone in > using Glut/freeglut as the launching pad for OpenGL work. It made > getting 'stuff on the screen' so easy. Though freeglut's primary purpose > is to abstract OpenGL work from whatever window system is present, and > allow code to be portable, I think it is also clear that it is a great > aid to novice OpenGL users. > > As my skill with OpenGL developed and with the 'threat' that the fixed > pipeline might go away, I realized that I needed to learn to use > shaders. The problem was there was no 'simple' way of getting started. I > have the orange GLSL book but it sat on my shelf for a year or two > before I finally got down to work. I really wished that there were a > freeglut kind of thing for GLSL -- something to help me get started. > There is so much preamble work necessary before one can actually run > even a simple shader. > > I ended up writing a module that compiles (via the GPU) loads and > activates shaders. It also generates C interface code to set the uniform > variables in the shader and of course displays & writes GLSL compiler > error logs. The shaders themselves are comprised of three code files: > shader_foo.vert, shader-foo.frag and shader_foo.h -- the header file can > be included in the shader code and the calling program to ensure that > defined constants are consistent between the calling program and the > shader code. Lastly, the code assigns textures to sampler-units on a LRU > basis (something the GPU should really do for you!). The code is just > 1,100 lines of C so nothing too extensive. > > GLSL is not part of freeglut's charter but I wonder if this module might > be useful for novice shader writers in the same way that freeglut is for > novice OpenGL users? > > If you have an interest in this I can post it to you. > Clive. > > > > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer Hi, I do not think there's much pre-setup necessary to run a simple shader. One thing which I did not think of when I started with GLSL, is that you can write simple shaders in your source code. Wikibooks shows a minimal working setup: http://en.wikibooks.org/wiki/OpenGL_Programming/Modern_OpenGL_Introduction Nonetheless, what you have done sounds interesting. Is there anything that I can view? Kind regards, Joey |
From: John T. <nu...@me...> - 2014-03-19 22:16:32
|
On Wed, Mar 19, 2014 at 10:38:52AM -0700, Clive McCarthy wrote: > As my skill with OpenGL developed and with the 'threat' that the fixed > pipeline might go away, I realized that I needed to learn to use > shaders. The problem was there was no 'simple' way of getting started. I > have the orange GLSL book but it sat on my shelf for a year or two > before I finally got down to work. I really wished that there were a > freeglut kind of thing for GLSL -- something to help me get started. > There is so much preamble work necessary before one can actually run > even a simple shader. What ?! no there isn't... char *vsrc = "void main() { gl_Position = ftransform(); }"; char *psrc = "void main() { gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); }"; unsigned int vsdr = glCreateShader(GL_VERTEX_SHADER); glShaderSource(vsdr, 1, &vsrc, 0); glCompileShader(vsdr); unsigned int psdr = glCreateShader(GL_FRAGMENT_SHADER); glShaderSource(psdr, 1, &psrc, 0); glCompileShader(psdr); unsigned int prog = glCreateProgram(); glAttachShader(prog, vsdr); glAttachShader(prog, psdr); glLinkProgram(prog); ... glUseProgram(prog); glutSolidTeapot(1.0); glUseProgram(0); If I can write the code to compile, link, and use a simple shader program directly in 10 lines of email, by definition there isn't any "preamble work necessary before one can actually run even a simple shader". Btw I didn't even copy-paste a signle line, I just wrote it from the top of my head, so yeah, it's that simple. -- John Tsiombikas http://nuclear.mutantstargoat.com/ |
From: Nigel S. <nig...@gm...> - 2014-03-20 03:36:26
|
Clive, I think of FreeGLUT as being orthogonal to "content" such as shader infrastructure. Opinions vary about the appropriate scope of the API, C vs C++ and so on. I think the key value for such a library would be documentation and some easy to follow tutorials. Something that can help juggle fixed-function, core-only and ES 2/3 might be attractive. - Nigel |