delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/08/10/02:09:19

X-Spam-Check-By: sourceware.org
To: cygwin AT cygwin DOT com
From: Dave Bodenstab <dave_bodenstab AT sbcglobal DOT net>
Subject: Re: Can't link TclMagick anymore
Date: Thu, 10 Aug 2006 01:08:35 -0500
Lines: 41
Message-ID: <ebeih4$rg5$1@sea.gmane.org>
References: <000001c6bb5d$a7f65850$5c4861cb AT anykey>
Mime-Version: 1.0
User-Agent: Thunderbird 1.5.0.5 (Windows/20060719)
In-Reply-To: <000001c6bb5d$a7f65850$5c4861cb@anykey>
X-Antivirus: avast! (VPS 0632-1, 08/09/2006), Outbound message
X-Antivirus-Status: Clean
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT 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

Danny Smith wrote:
> Sorry about breaking thread.  I suppose I should give in and
> re-subscribe here.
> Dave Bodenstab wrote at
> http://cygwin.com/ml/cygwin/2006-08/msg00264.html
> 
> 
>> Warning: .drectve `-defaultlib:MSVCRT ' unrecognized
>> Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
> 
> These are harmless
> 
>> Cannot export ??_C AT _03KBFG@Tcl?$AA@: symbol not found
>> Cannot export ??_C AT _0DM@EBFE AT This?5interpreter?5does?5not?5suppor@:
> symbol not found
> 
> My MSVC++ 'demangle fu' is not up to that  
> Those must be from tclstub84.lib (tclStubLib.obj), yes?
> 
> By not explicitly telling ld what to export, you are implicitly telling
> it to export-all symbols from all your objects and archives, excluding a
> few system libs. Tell ld to exclude tclstub84.lib from exports, as well 
> 
> 
> $ gcc -v -shared -mno-cygwin \
> -o libTclMagick.dll \
> -L'/cygdrive/c/Program Files/ImageMagick' \
> TclMagick.o \
> -ltclstub84  \
> -lCORE_RL_wand_ -lCORE_RL_magick_ \
> -Wl,--exclude-libs,tclstub84.lib

That did it.  Thanks much.

Where can I learn about this "export" stuff?  I've never, ever had to 
"export" anything (via ld) when making a .so on unix -- it's all done
(for C) by *not* declaring a symbol as "static".  Any suggestion on
a tutorial that explains the how and why when linking dll's on
windows?

Thanks again.


--
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