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