Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:4509 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 84188 invoked by uid 1010); 17 Sep 2003 14:27:22 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 84147 invoked by uid 1007); 17 Sep 2003 14:27:22 -0000 Message-ID: <20030917142722.84139.qmail@pb1.pair.com> To: internals@lists.php.net Reply-To: jay@php.net Mail-Copies-To: jay@php.net Date: Wed, 17 Sep 2003 10:27:17 -0400 References: <20030917141743.65402.qmail@pb1.pair.com> Lines: 46 User-Agent: KNode/0.7.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Posted-By: 216.94.11.234 Subject: Re: C++ extension question From: jay@php.net (Jay Smith) I'm assuming "delete" isn't a function but the C++ operator delete. You're probably #including the same file more than once, but I doubt it's in Zend. If all else fails, you can try passing "/FORCE" to the linker options and it'll try to force the linkage. It might result in a broken binary, though. J Igal Ore wrote: > I developing some extension on m$ platform with M$VC6.0 ( it's a OpenSSL > crypto capabilities, more advanced than OpenSSL extension providing, when > i fill it ready i will try to publish to PHP site) when core language for > internals is a C++, meaning inside implementation of PHP functions there > calls to C++ classes; may be in future i should actually use PHP object > oriented side. > > Until than was not much functions it was nice and exciting development , > until number of functions grow to more than 60 and becomes a little hard > to maintain in one file. I tried to do very standard thing , segregate > functions by they functionality to different files , and all seemed to be > happy in compilation but not in linking; > > I'm receiving this > php_TPKCS12.obj : LNK2005 error: _delete already defined in cert.obj > php_TPKCS12.obj : warning LNK4006: _delete already defined in cert.obj; > second definition ignored > > I searched forums of PHP and around for some examples of somebody stuck > with same problem , but haven't found something similar; > There some references and even explanations how to create PHP extension in > C++ but there again considering that all PHP functions are defined and > implemented in one file. > > obliviously this is very urgent and not very "hot" issue , but still could > somebody give a look on this . > > Not interesting proposition like search for C function named "delete" is > not counting. There is no such thing in PHP code and not in my code > > My hint (and after some digging in code, another point to have open source > code for applications) that somewhere in ZEND engine there definition that > confusing compiler/linker that not protected from header file redefinition > problems ...