delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/08/10/10:57:13

X-Spam-Check-By: sourceware.org
Message-ID: <44DB4934.1040407@cygwin.com>
Date: Thu, 10 Aug 2006 10:56:52 -0400
From: "Larry Hall (Cygwin)" <reply-to-list-only-lh AT cygwin DOT com>
Reply-To: cygwin AT cygwin DOT com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20060112 Fedora/1.5-1.fc4.remi Thunderbird/1.5 Mnenhy/0.7.4.0
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: Can't link TclMagick anymore
References: <000001c6bb5d$a7f65850$5c4861cb AT anykey> <ebeih4$rg5$1 AT sea DOT gmane DOT org>
In-Reply-To: <ebeih4$rg5$1@sea.gmane.org>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
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

Dave Bodenstab wrote:
> 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?


I'd recommend going to the source for information on DLLs:

<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/_core_dlls.3a_.overview.asp>


-- 
Larry Hall                              http://www.rfk.com
RFK Partners, Inc.                      (508) 893-9779 - RFK Office
216 Dalton Rd.                          (508) 893-9889 - FAX
Holliston, MA 01746

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