Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <001f01c05ea0$9f54ffa0$65308cd4@emerald> From: "Steven O'Brien" To: References: <001401c05df0$e4dd0c80$95698cd4 AT emerald> <3A2BB6BB DOT 4353B8D4 AT ece DOT gatech DOT edu> Subject: Re: building dlls, C and C++ Date: Tue, 5 Dec 2000 09:47:28 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2615.200 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 Thanks for the examples, Chuck. I think I now understand why the ncurses++ dll fails to build corrrectly. The bug in egcs that Mumit refers to in the c++ example appears to still exist in gcc-2.95.2. To build cygncurses++5.dll and c++/demo.exe, the following mods are necessary: 1) the gcc bug - static *data* members do not pick up the "NCURSES_IMPEXP" decoration correctly from the class declaration, so you have to add this explicitly. (see dllclass.h in the dllhelpers pack you attached for an example) Files affected: c++/cursesapp.h c++/cursesf.h c++/cursesp.h c++/cursesw.h c++/cursslk.h 2) main() function - A correct main() for this example would be: int main() { return Demo(); } 3) remove the #defines in c++/etip.h.in that force definition of NCURSES_STATIC with these changes, then the instructions in ncurses-5.2-2-src.tar.gz produce a working cygncurses++5.dll and c++/demo.exe Steve ----- Original Message ----- From: Charles S. Wilson To: Steven O'Brien Cc: Sent: Monday, December 04, 2000 3:22 PM Subject: Re: building dlls, C and C++ > I don't see this problem. Here's an example, cooked up from Mumit's > outdated dllhelpers kit, but redone to fit the more recent ld/gcc > combinations and their capabilities. > > --Chuck -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com