Linking with .LIB files
David W Palmer
David_W_Palmer@ccm.jf.intel.com
Thu Mar 27 20:59:00 GMT 1997
Text item:
Okay, I've pulled together the feedback and made a few more attempts.
I compile the program using:
gcc -o simple.c
and link using:
link simple.o libc.a libcygwin.a libkernel32.a libuser32.a glu32.lib
opengl32.lib libgdi32.a /subsystem:windows /machine:i386
/entry:mainCRTStartup
The output:
//f/pgming/opengl/simple$ make
link simple.o libc.a libcygwin.a libkernel32.a libuser32.a glu32.lib opengl32.li
b libgdi32.a /subsystem:windows /machine:i386 /entry:mainCRTStartup
Microsoft (R) 32-Bit Incremental Linker Version 5.00.7022
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.
libcygwin.a(libccrt0.o) : error LNK2001: unresolved external symbol ___CTOR_LIST
__
libcygwin.a(libccrt0.o) : error LNK2001: unresolved external symbol ___DTOR_LIST
__
libcygwin.a(libccrt0.o) : error LNK2001: unresolved external symbol __data_start
__
libcygwin.a(libccrt0.o) : error LNK2001: unresolved external symbol __data_end__
libcygwin.a(libccrt0.o) : error LNK2001: unresolved external symbol __bss_start_
_
libcygwin.a(libccrt0.o) : error LNK2001: unresolved external symbol __bss_end__
simple.exe : fatal error LNK1120: 6 unresolved externals
make: *** [simple.exe] Error 25
//f/pgming/opengl/simple$
I greped the contents of every .a I could find and there's no trace of a
__data_start__ tag anywhere. I grep them by doing the following:
mkdir out
for x in *.a; do nm $x > out/$x; done;
cd out
egrep data_start *
This has the advantage of telling me which file any matches are found. It
worked quite well for finding _GetModuleHandleA@4. I also checked crt0.o
just in case. Maybe the compiler was suppose to generate these symbols?
Or maybe it's something ld understands but link doesn't?
Simple.c is a very simple windows program (with a WinMain) that calls
OpenGL primitives. I copied it from a companion CD of a book to use for
testing this out.
The GNU-Win32 I'm using I pulled from
ftp://ftp.cygnus.com/pub/gnu-win32/latest/all.tar.gz
Apparently this is b17, not b17.1. Sounds like getting the patches to
b17.1 should resolve the issue of using OpenGL. Though I'm still
interested in getting this to work. (call me stubborn if you like)
So, any ideas about why I'm missing these symbols and what can I do about
it?
Thanks, for the help guy's! I do appreciate it!
Dave
Text item: External Message Header
The following mail header is for administrative use
and may be ignored unless there are problems.
***IF THERE ARE PROBLEMS SAVE THESE HEADERS***.
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=us-ascii
References: <Wed, 26 Mar 97 10:42:13 PST_6@ccm.jf.intel.com>
Subject: Re: Linking with .LIB files
CC: gnu-win32@cygnus.com, colin@bird.fu.is.saga-u.ac.jp
To: David W Palmer <David_W_Palmer@ccm.jf.intel.com>
MIME-Version: 1.0
X-Mailer: Mozilla 3.01Gold (WinNT; I)
Organization: JQB Enterprises
From: Jim Balter <jqb@netcom.com>
Date: Thu, 27 Mar 1997 00:46:40 -0800
Message-ID: < 333A33F0.4F58@netcom.com >
Received: from sba-ca1-24.ix.netcom.com(204.32.201.56) by dfw-ix16.ix.netcom.com
via smap (V1.3)
id sma025517; Thu Mar 27 02:49:47 1997
Received: (from smap@localhost)
by dfw-ix16.ix.netcom.com (8.8.4/8.8.4)
id CAA25617; Thu, 27 Mar 1997 02:50:13 -0600 (CST)
Received: from dfw-ix16.ix.netcom.com (dfw-ix16.ix.netcom.com [206.214.98.16]) b
y mailbag.jf.intel.com (8.8.5/8.7.3) with ESMTP id AAA23068 for <David_W_Palmer@
ccm.jf.intel.com>; Thu, 27 Mar 1997 00:59:15 -0800 (PST)
Received: from mailbag.jf.intel.com (mailbag.jf.intel.com [134.134.248.4]) by re
lay.jf.intel.com (8.7.6/8.7.3) with ESMTP id AAA28751 for <David_W_Palmer@ccm.jf
.intel.com>; Thu, 27 Mar 1997 00:56:55 -0800 (PST)
Return-Path: jqb@netcom.com
-
For help on using this list, send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".
More information about the Cygwin
mailing list