libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

problem with creating DLL under Cygwin


From: Will Mason
Subject: problem with creating DLL under Cygwin
Date: Fri, 18 Sep 2009 15:59:14 -0500

Hello,
As part of my cross-platform project I'm building a shared object. This shared object depends on various libraries from the ICU project (http://www.icu-project.org). To distill the problem I'm having, I'll focus on just one of the ICU libraries.

In Makefile.am I have

libforxxq_la_LDFLAGS = -version-info $(LIBFORXXQ_VERSION) -rpath $(libdir) -no-undefined
libforxxq_la_LIBADD = -L/usr/local/lib -lcygicuuc42

In /usr/local/lib I have:

cygicuuc42.dll
libicuuc42.dll.a

I really want libtool to create a DLL, but it won't. Here's what libtool says every time:

*** Warning: linker path does not have real file for library -lcygicuuc42.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libcygicuuc42 but no candidates were found. (...for file magic test)�

And it repeats this message for every ICU library, and then proceeds to link my library statically. If I put the fully qualified name of /usr/local/lib/cygicuuc42.dll in the LIBADD line, then it ignores the library completely and complains about all the undefined symbols that live in the library that it just ignored.

Also, when I create an executable in the same project that depends on ICU libraries, and I pass exactly the same linker flags, "-L/usr/local/lib -lcygicuuc42", then it works fine. So, one may be tempted to complain that the name of the library doesn't start with "lib", but obviously the linker doesn't care.

I'm using libtool 2.2.6a.

Thanks for any help,
Will

reply via email to

[Prev in Thread] Current Thread [Next in Thread]