Hi Adrian,
I had accomplished what I wanted with a static build of addons for
antiprism. I thought while I was at it, I'd free myself of compiling in
Cygwin.
Partial success :)
Now I get to the point where antiview won't link properly. But at least
I'm to the same point as I am in Cygwin and no longer have to maintain a
build there.
If we can't get any further than this then I'm none the worse. All
Antiprism programs run without any library requirements with the static
build. Only antiview will require the libraries.
How it progressed...
On 8/3/2023 1:58 PM, Adrian Rossiter wrote:
> I cross-compiled Freeglut to use for the Antiprism Windows installer. The
> build includes a static Freeglut library, but I link dynamically for the
> installer.
>
configure requires finding glut.h under the GL directory. What I have is
this.
roger@interocitor-ubuntu:/usr/x86_64-w64-mingw32$ find . -name gl*
./include/GL/glaux.h
./include/GL/glext.h
./include/GL/glxext.h
./include/GL/glu.h
./include/GL/gl.h
./include/GL/glcorearb.h
This seems odd that glut.h isn't there. What is in Cygwin are some extra
files. They are dated 2013 and it makes me think they are there from
when I used to build and install freeglut.
Roger@interocitor:/usr/x86_64-w64-mingw32/sys-root/mingw/include/GL$ ls -l
total 1490
-rw-r--r-- 1 Roger Administrators 681 Dec 1 2013 freeglut.h
-rw-r--r-- 1 Roger Administrators 9007 Dec 1 2013 freeglut_ext.h
-rw-r--r-- 1 Roger Administrators 26523 Dec 1 2013 freeglut_std.h
-rw-r--r-- 1 Roger Administrators 45301 Apr 29 05:57 gl.h
-rw-r--r-- 1 Roger Administrators 6858 Apr 29 05:57 glaux.h
-rw-r--r-- 1 Roger Administrators 419260 Apr 29 05:57 glcorearb.h
-rw-r--r-- 1 Roger Administrators 841944 Apr 29 05:57 glext.h
-rw-r--r-- 1 Roger Administrators 10310 Apr 29 05:57 glu.h
-rw-r--r-- 1 Roger Administrators 639 Dec 1 2013 glut.h
-rw-r--r-- 1 Roger Administrators 48370 Apr 29 05:57 glxext.h
-rw-r--r-- 1 Roger Administrators 50304 Apr 29 05:57 wgl.h
-rw-r--r-- 1 Roger Administrators 43782 Apr 29 05:57 wglext.h
These files are on
https://github.com/FreeGLUTProject/freeglut/tree/master/include/GL
I added these in the directory but there is no library. On Cygwin there
is this again from 2013.
Roger@interocitor:/usr/x86_64-w64-mingw32/sys-root/mingw/lib$ ls -l
libglut*
-rw-r--r-- 1 Roger Administrators 392220 Dec 1 2013 libglut.a
-rwxr-xr-x 1 Roger Administrators 96460 Dec 1 2013 libglut.dll.a
Other libraries are the same size in bytes as they are on Cygwin. Could
these actually be transferable?
They are (this is surprising!)
Results of linking antiview...
/bin/bash ../libtool --tag=CXX --mode=link x86_64-w64-mingw32-g++
-Wall -Wextra -static -static-libgcc -static-libstdc++ -Wl,-Bstatic
-lstdc++ -lpthread -lm -o
libantiprism_dispgl.la gl_writer.lo
stipple.lo gl_stroke_font.lo displaypoly_gl.lo -lglu32 -lopengl32 -lm
libtool: link: x86_64-w64-mingw32-ar cr .libs/libantiprism_dispgl.a
gl_writer.o stipple.o gl_stroke_font.o displaypoly_gl.o
libtool: link: x86_64-w64-mingw32-ranlib .libs/libantiprism_dispgl.a
libtool: link: ( cd ".libs" && rm -f "
libantiprism_dispgl.la" && ln -s
"../
libantiprism_dispgl.la" "
libantiprism_dispgl.la" )
/bin/bash ../libtool --tag=CXX --mode=link x86_64-w64-mingw32-g++
-Wall -Wextra -static -static-libgcc -static-libstdc++ -Wl,-Bstatic
-lstdc++ -lpthread -lm -o antiview.exe antiview-antiview.o
antiview-vw_glut.o -lglut
libantiprism_dispgl.la ../base/
libantiprism.la
-lglu32 -lopengl32 -lm
libtool: link: x86_64-w64-mingw32-g++ -Wall -Wextra -static-libgcc
-static-libstdc++ -Wl,-Bstatic -o antiview.exe antiview-antiview.o
antiview-vw_glut.o -lstdc++ -lpthread -lglut
./.libs/libantiprism_dispgl.a ../base/.libs/libantiprism.a -lglu32
-lopengl32
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x68): undefined reference to
`__imp___glutInitWithExit'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x8f): undefined reference to
`__imp___glutCreateWindowWithExit'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0xb5): undefined reference to
`__imp___glutCreateMenuWithExit'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x5e4): undefined reference to
`__imp_glutInitDisplayMode'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x605): undefined reference to
`__imp_glutInitWindowSize'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x618): undefined reference to
`__imp_glutInitWindowPosition'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x634): undefined reference to
`__imp_glutDisplayFunc'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x644): undefined reference to
`__imp_glutIdleFunc'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x654): undefined reference to
`__imp_glutReshapeFunc'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x664): undefined reference to
`__imp_glutMouseFunc'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x674): undefined reference to
`__imp_glutKeyboardFunc'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x684): undefined reference to
`__imp_glutSpecialFunc'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x694): undefined reference to
`__imp_glutMotionFunc'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-antiview.o:antiview.cc:(.text+0x7b9): undefined reference to
`__imp_glutMainLoop'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x25): undefined reference to
`__imp___glutInitWithExit'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x4c): undefined reference to
`__imp___glutCreateWindowWithExit'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x72): undefined reference to
`__imp___glutCreateMenuWithExit'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0xa8): undefined reference to
`__imp_glutAddMenuEntry'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0xbd): undefined reference to
`__imp_glutAddMenuEntry'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0xd2): undefined reference to
`__imp_glutAddMenuEntry'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0xe7): undefined reference to
`__imp_glutAddMenuEntry'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0xfc): undefined reference to
`__imp_glutAddMenuEntry'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x111): more undefined references
to `__imp_glutAddMenuEntry' follow
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x204): undefined reference to
`__imp_glutAddSubMenu'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x219): undefined reference to
`__imp_glutAddMenuEntry'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x22e): undefined reference to
`__imp_glutAddMenuEntry'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x23c): undefined reference to
`__imp_glutAttachMenu'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x105c): undefined reference to
`__imp_glutPostRedisplay'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x180f): undefined reference to
`__imp_glutPostRedisplay'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x18ef): undefined reference to
`__imp_glutPostRedisplay'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x19ba): undefined reference to
`__imp_glutSwapBuffers'
/usr/bin/x86_64-w64-mingw32-ld:
antiview-vw_glut.o:vw_glut.cc:(.text+0x1be1): undefined reference to
`__imp_glutPostRedisplay'
collect2: error: ld returned 1 exit status
Roger