delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/01/28/17:51:47

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_28,J_CHICKENPOX_43,SARE_MSGID_LONG40,SPF_PASS
X-Spam-Check-By: sourceware.org
MIME-Version: 1.0
Date: Wed, 28 Jan 2009 23:51:33 +0100
Message-ID: <6910a60901281451m443ccba3ke566332355f3c81c@mail.gmail.com>
Subject: opengl-1.1.0-10 glut32 linking problems
From: Reini Urban <rurban AT x-ray DOT at>
To: The Cygwin Mailing List <cygwin AT cygwin DOT com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

The importlib /usr/lib/w32api/libglut32.a has some problems. Linking
to the dll directly works fine.

$ cat test.c
#include <stdio.h>
#include <stdlib.h>
#include <GL/glut.h>
int main(int argc, char *argv[])
{
    if(glutInit == NULL) {
        printf("glutInit is NULL\n");
        return EXIT_FAILURE;
    }
    printf("GLUT %d\n",        GLUT_API_VERSION);
    return EXIT_SUCCESS;
}
$ gcc test.c -lglut32 -lglu -lopengl32
undefined reference to `___glutInitWithExit'
undefined reference to `___glutCreateWindowWithExit'
undefined reference to `___glutCreateMenuWithExit'
$ gcc test.c /bin/glut32.dll -lglu -lopengl32

$ ./a
GLUT 3

Note that there are two more ___glut* functions, not only these three.
$ nm /lib/w32api/libglut32.a | grep " ___glut"
00000000 T ___glutSetFCB AT 8
00000000 T ___glutInitWithExit AT 12
00000000 T ___glutGetFCB AT 4
00000000 T ___glutCreateWindowWithExit AT 8
00000000 T ___glutCreateMenuWithExit AT 8
$ objdump -t /lib/w32api/libglut32.a | grep " ___glut"
[  7](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 ___glutSetFCB AT 8
[  7](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 ___glutInitWithExit AT 12
[  7](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 ___glutGetFCB AT 4
[  7](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000
___glutCreateWindowWithExit AT 8
[  7](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000
___glutCreateMenuWithExit AT 8

I see nothing problematic, but I'm no expert
-- 
Reini Urban
http://phpwiki.org/              http://murbreak.at/

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019