PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim Einbinden von C++ Klassen in PHP4


Finger
11.02.2005, 11:00:25
Hallo Forum,

ich möchte eine C++ Klasse in PHP 4 als Built-In modul einbinden.
Dazu habe ich im Netz eine Anleitung gefunden (siehe unter: http://bugs.tutorbuddy.com/php5cpp/php5cpp/).
Leider funzt die Anleitung bei mir nicht. Der Übersetnungsvorgang bricht beim Linken ab.

Fehlermeldung:

../Download/php-4.3.10/ext/php5cpp/php_php5cpp.h:35:28: warning: no newline at end of file
/bin/sh /home/finger.w/Download/php-4.3.10/libtool --silent --preserve-dup-deps --mode=link gcc -export-dynamic -g -O2 ext/ctype/ctype.lo ext/mysql/php_mysql.lo ext/mysql/libmysql/libmysql.lo ext/mysql/libmysql/safemalloc.lo ext/mysql/libmysql/my_alloc.lo ext/mysql/libmysql/mf_format.lo
---schnipp---

---schnapp---
main/spprintf.lo main/php_sprintf.lo main/safe_mode.lo main/fopen_wrappers.lo main/alloca.lo main/php_scandir.lo main/php_ini.lo main/SAPI.lo main/rfc1867.lo main/php_content_types.lo main/strlcpy.lo main/strlcat.lo main/mergesort.lo main/reentrancy.lo main/php_variables.lo main/php_ticks.lo main/streams.lo main/network.lo main/php_open_temporary_file.lo main/php_logos.lo main/output.lo main/memory_streams.lo main/user_streams.lo Zend/zend_language_parser.lo Zend/zend_language_scanner.lo Zend/zend_ini_parser.lo Zend/zend_ini_scanner.lo Zend/zend_alloc.lo Zend/zend_compile.lo Zend/zend_constants.lo Zend/zend_dynamic_array.lo Zend/zend_execute_API.lo Zend/zend_highlight.lo Zend/zend_llist.lo Zend/zend_opcode.lo Zend/zend_operators.lo Zend/zend_ptr_stack.lo Zend/zend_stack.lo Zend/zend_variables.lo Zend/zend.lo Zend/zend_API.lo Zend/zend_extensions.lo Zend/zend_hash.lo Zend/zend_list.lo Zend/zend_indent.lo Zend/zend_builtin_functions.lo Zend/zend_sprintf.lo Zend/zend_ini.lo Zend/zend_qsort.lo Zend/zend_multibyte.lo Zend/zend_strtod.lo Zend/zend_execute.lo sapi/cgi/cgi_main.lo sapi/cgi/getopt.lo main/internal_functions.lo -lcrypt -lcrypt -lresolv -lm -ldl -lnsl -lcrypt -lcrypt -o sapi/cgi/php
ysql/libmysql/my_tempnam.o(.text+0x40): In function `my_tempnam':
php-4.3.10/ext/mysql/libmysql/my_tempnam.c:115: warning: the use of `tempnam' is dangerous, better use `mkstemp'
ext/php5cpp/php5cpp.o(.text+0x23): In function `destroy_myclass(_zend_rsrc_list_entry*)':
: undefined reference to `MyClass::~MyClass [in-charge]()'
ext/php5cpp/php5cpp.o(.text+0x31): In function `destroy_myclass(_zend_rsrc_list_entry*)':
: undefined reference to `operator delete(void*)'
ext/php5cpp/php5cpp.o(.text+0x191): In function `zif_myclass_new(int, _zval_struct*, _zval_struct*, int)':
: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string[in-charge](char const*, unsigned, std::allocator<char> const&)'
ext/php5cpp/php5cpp.o(.text+0x1d2): In function `zif_myclass_new(int, _zval_struct*, _zval_struct*, int)':
: undefined reference to `MyClass::MyClass[in-charge](std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
---schnipp---


---schnapp---
ext/php5cpp/php5cpp.o(.text+0x6c3): In function `zif_myclass_get_string(int, _zval_struct*, _zval_struct*, int)':
: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string [in-charge]()'
ext/php5cpp/php5cpp.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php] Fehler 1



Mein System:
SuSE SLES 9
PHP Sourcen 4.3.10

Gibt es eine andere Anleitung im Netz wie man C++ Klassen in PHP einbindet?
Wer hat das selbe Problem?
Gibt es eine Lösung für das Problem?

Thx
Wolfgang