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: <000c01c05f8c$0b61e8c0$04288cd4@emerald> From: "Steven O'Brien" To: Subject: cygncurses++5.dll [WAS Re: building dlls, C and C++] Date: Wed, 6 Dec 2000 13:52:42 -0000 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0009_01C05F8B.CE0FAAC0" 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 ------=_NextPart_000_0009_01C05F8B.CE0FAAC0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit The only outstanding issue from my previous mail on ncurses++ is the need to invent a main() function in the dll build which was not needed in the static build. The c++ sources include a default main() (in c++/cursesmain.cc) which is linked into the static lib and therefore picked up by a static link, so no need for the application writer to provide one. However, when the main() is put into a DLL, the linker can no longer find it when building an exe - hence the link error about WinMain AT 16. Modifying c++/Makefile so that c++/cursesmain.o is ommited fro the dll, but then added to the import library with ar, means that the shared build now works without an application main() just like the static build. As far as I can tell, the runtime behaviour of c++/demo.exe is now identical whether linked shared or static. I attach a patch which includes all the mods I made doing these trials. It replaces CYGWIN-PATCHES/ncurses-5.2-c++-dll.patch. So to build ncurses, using dynamic linking, from the cygwin sources: tar zxvf ncurses-5.2-2-src.tar.gz cd ncurses-5.2 export CFLAGS=-DNCURSES_DLL export CXXFLAGS=$CFLAGS ./configure --enable-symlinks --enable-sigwinch --enable-colorfgbg \ --enable-tcap-names --with-manpage-symlinks --without-de bug \ --with-normal --disable-termcap --prefix=/usr \ --with-default-terminfo-dir=/usr/share/terminfo \ --enable-echo --with-manpage-symlinks patch -p1 < CYGWIN-PATCHES/ncurses-5.2-2-dll.patch patch -p1 < ncurses-5.2-c++-dll-2.patch make In the above, replace "ncurses-5.2-c++-dll-2.patch" with the path where you have placed (and unzipped) the attached patch file. Steve ------=_NextPart_000_0009_01C05F8B.CE0FAAC0 Content-Type: application/x-gzip; name="ncurses-5.2-c++-dll-2.patch.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ncurses-5.2-c++-dll-2.patch.gz" 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 Xn+MzpxSwDody/b/AWFhhPBkIgAA ------=_NextPart_000_0009_01C05F8B.CE0FAAC0 Content-Type: text/plain; charset=us-ascii -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com ------=_NextPart_000_0009_01C05F8B.CE0FAAC0--