Problems linking program

Larry Hall (RFK Partners, Inc)
Mon Apr 22 13:25:00 GMT 2002

At 03:40 PM 4/22/2002, Charles Wilson wrote:
>Larry Hall (RFK Partners, Inc) wrote:
>>>        ld -shared -o gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o
>>>gd_io_file.o gd_ss.o gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o   gdfontt.o gdfonts.o
>>>gdfontmb.o gdfontl.o gdfontg.o   gdtables.o gdft.o gdcache.o gdkanji.o wbmp.o
>>>gd_wbmp.o gdhelpers.o gd_topal.o -lfreetype -lgd -lz -ljpeg -lpng -lcygwin
>>>/usr/lib/libcygwin.a(_cygwin_crt0_common.o)(.text+0xe6): undefined reference to
>>OK.  First, you shouldn't need to list -lcygwin.  It gets added automatically.
>>Fortunately now, it should be harmless to list it however.  That hasn't always
>>been the case so it's good not to get in the habit of adding it when it's not
>>'GetModuleHandle()' is a Win32 API.  You apparently have not installed the w32api package.  Rerun setup and do so.
>Nope -- the problem is he's using 'ld' directly to link the DLL.  Don't do that.  Instead of 'ld -shared', use 'gcc -shared'.  If you MUST pass linker specific options to ld, use '-Wl,--my-ld-option' in your gcc command line.

Ouch!  Chuck's right with this one.  I didn't pay attention to the link 
line, just the error.  Using 'ld' directly will not automatically pick 
up the w32api libraries, even if they are installed.  Use 'gcc' as Chuck

>(BTW, naming your dll "" is a really bad idea.  Windows only supports shared libs that end in ".dll".)

Yeah, it still looks to me like Matt is trying to build the GNU C library
for some reason.  If it's to use with Cygwin, linking and correct naming
conventions for Windows will be the least of his problems! ;-)

Larry Hall                    
RFK Partners, Inc.            
838 Washington Street                   (508) 893-9779 - RFK Office
Holliston, MA 01746                     (508) 893-9889 - FAX

Unsubscribe info:
Bug reporting:

More information about the Cygwin mailing list