delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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 |
Message-ID: | <402C2069.7070403@users.sourceforge.net> |
Date: | Thu, 12 Feb 2004 19:55:05 -0500 |
From: | Yaakov Selkowitz <yselkowitz AT users DOT sourceforge DOT net> |
User-Agent: | Mozilla Thunderbird 0.5 (Windows/20040207) |
MIME-Version: | 1.0 |
To: | cygwin AT cygwin DOT com |
Subject: | Building dll's and executables in same package |
X-Enigmail-Version: | 0.83.2.0 |
X-Enigmail-Supports: | pgp-inline, pgp-mime |
X-Authentication-Info: | Submitted using SMTP AUTH at out003.verizon.net from [68.161.51.220] at Thu, 12 Feb 2004 18:55:10 -0600 |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 OK, after a lot of time looking at the user guide, FAQ, and Google, I finally figured out (I think) how to get DLLs to build with the autotools. But now I'm having troubles with building the executables from the same package that depend on this library. My "test case" is fribidi. In short: 1) I added -no-undefined to libfribidi_la_LDFLAGS in Makefile.in (there's only one, no subdirs). 2) I added an empty main function to one of the src .c files: +int main () +{ return 0; } dlltool seems to build cygfribidi-0.dll properly, then make continues to build fribidi.exe, which depends on libfribidi, and the following happens: /bin/sh ./libtool --mode=link gcc -O2 -Wall -lm -o fribidi.exe fribidi_main.o getopt.o getopt1.o libfribidi.la -L. -lfribidi generating import library for `cygfribidi-0.dll' dlltool --as=as --dllname cygfribidi-0.dll --def .libs/cygfribidi-0.dll-def --output-lib .libs/libimp-cygfribidi-0.a gcc -O2 -Wall -o .libs/fribidi.exe fribidi_main.o getopt.o getopt1.o - -L/home/Yaakov/devel/testing/fribidi/fribidi-0.10.4/.build .libs/libimp-cygfribidi-0.a fu000001.o(.idata$3+0xc): undefined reference to '__libs_libimp_cygfribidi_0_a_iname' nmth000000.o(.idata$4+0x0): undefined reference to `__nm__fribidi_version_info' Info: resolving _fribidi_version_info by linking to __imp__fribidi_version_info (auto-import) collect2: ld returned 1 exit status make: *** [fribidi.exe] Error 1 So what am I missing now? Or is this a problem with the code? Yaakov -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (MingW32) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFALCBnpiWmPGlmQSMRArgKAJ9nsa7uI5xA7B5lw8pa05ELudDwhwCglX8u TM0FBClujeDL2hpLjAZA854= =lNGc -----END PGP SIGNATURE----- -- 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/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |