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