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: 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> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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: -- 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/