Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <20020402215605.63941.qmail@web14506.mail.yahoo.com> Date: Wed, 3 Apr 2002 07:56:05 +1000 (EST) From: =?iso-8859-1?q?Danny=20Smith?= Subject: REt: Creating DLLs using c++/g++ To: Cygwin MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit > From: Suhanthan Vanniyasingam > I have created DLLs by using the following command > "gcc -Wl,--out-implib,libmydll.import.a -shared -o mydll.dll > mydll.o" > and used with a VC++ application. > But I have tried the same command with c++ and g++. It's creating the DLL. > But the functionality is not accessible by VC++ application. Its not a dll problem, its a difference in C++ ABI. You can't generally mix object code from different C++ compilers. In fact different versions of same compiler (say G++-2.x and G++-3.x) produce incompatable C++ code. Different compilers use different name-mangling schemes to protect users from problems that arise when mixing ABI's. There are attempts to standardize C++ ABI across compilers, but that has not happened yet. Danny http://www.sold.com.au - SOLD.com.au Auctions - 1,000s of Bargains! -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/