Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:7930 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 72845 invoked by uid 1010); 17 Feb 2004 19:24:26 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 72718 invoked from network); 17 Feb 2004 19:24:25 -0000 Received: from unknown (HELO adsl-209-204-144-251.sonic.net) (209.204.144.251) by pb1.pair.com with SMTP; 17 Feb 2004 19:24:25 -0000 Received: from [127.0.0.1] (helo=192.168.1.2) by adsl-209-204-144-251.sonic.net with smtp (Exim 4.20) id 1AtApU-0001Ez-Pp for internals@lists.php.net; Tue, 17 Feb 2004 11:24:24 -0800 Received: from 192.168.1.102 (SquirrelMail authenticated user mark) by 192.168.1.2 with HTTP; Tue, 17 Feb 2004 11:24:24 -0800 (PST) Message-ID: <1403.192.168.1.102.1077045864.squirrel@192.168.1.2> Date: Tue, 17 Feb 2004 11:24:24 -0800 (PST) To: internals@lists.php.net Reply-To: mes@zeroc.com User-Agent: SquirrelMail/1.4.2 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 Importance: Normal Subject: Problems linking C++ extension From: mes@zeroc.com ("Mark Spruiell") Hi, The header file Zend/zend_interfaces.h contains the following lines: ZEND_API zend_class_entry *zend_ce_traversable; ZEND_API zend_class_entry *zend_ce_aggregate; ZEND_API zend_class_entry *zend_ce_iterator; ZEND_API zend_class_entry *zend_ce_arrayaccess; These lines cause "multiple definition" errors when I link my C++ extension with GCC because the declarations lack the "extern" storage class specifier and therefore cause a new definition in each C++ module that includes this header file. I assume that it's legal for my extension to include this header file. Should I submit this as a bug? I'm using PHP5b4, GCC 3.2.2, RH9. Thanks, - Mark