|
From: | Howard Chu |
Subject: | Re: Win32 libltdl issue |
Date: | Wed, 27 Apr 2005 09:15:48 -0700 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b2) Gecko/20050419 |
Ralf Wildenhues wrote:
In branch-2-0 and HEAD we actually don't use the lt_*alloc/free interface any more, seems for good reason. We do still define a stub interface for backward compatibility, but given these arguments, I think we can safely delete them completely, or at least hide them on win32. OTOH, we now have a couple more objects we export[1], and from your explanations I can only gather that this needs to be fixed. It might need an incompatible change on branch-2-0 (which affects the interfaces added on the branch). Related question: Do I have to specify the declspec(export) in the same translation unit in which I define the function? This is what bugs us in mingw ATM. Specifying the declspec in another translation unit seems to work with cygwin but fail on mingw. (Of course, the unit gets linked into the same lib in any case).
Yes, I think so, but not entirely sure. Since all the code I work with always puts the declarations in a header file that every source file includes, it has never been an issue for me.
I see that more recent versions of cygwin/mingw appear to have made using declspec unnecessary:
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/gnu-linker/win32.htmlI don't know how others would feel about it, but perhaps you could just say "version >= XX of cygwin/mingw binutils are required" and forget about all of these issues.
Thanks for your helpful comments, Ralf [1] lt__error_strings, *_preloaded_symbols, maybe lt__last_error as well.
-- -- Howard Chu Chief Architect, Symas Corp. Director, Highland Sun http://www.symas.com http://highlandsun.com/hyc Symas: Premier OpenSource Development and Support
[Prev in Thread] | Current Thread | [Next in Thread] |