Giter Club home page Giter Club logo

Comments (45)

privatehosting avatar privatehosting commented on June 4, 2024

Ich habe in deinem Profil gesehen das du auch Deutsch verstehst, also Antworte ich mal Deutsch und Englisch.
Ich schaue mir den Fehler spÀter mal an, was ich aber noch wissen möchte, ob das nur deine Forked-Repo betrifft oder auch die Generelle Repo?

I will have a look on it later, but could you say me, does this failure only exists on your forked repo, or on the wxphp repo, too?

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Ich hab den original download genommen, also der offizielle. Habe dann den ordner auf wxwidgets umbenannt und in php-5.5.3/ext verschoben. danach:
$ cd php-5.5.3
$ rm configure
$ ./buildconf --force
Dann einfach den configure-befehl ausgefĂŒhrt den ich ja schon mitgegeben hab, mit --enable-wxwidgets und --with-wxwidgets-monolith.
Ich muss jedoch mal prĂŒfen wie es mit der 2ten option aussieht, was passiert wenn ich die mal weglasse. Denn ich bin mir jetzt gar nicht mehr so sicher wie ich wxwidgets gebuildet hab. Aber ein Blick in die app.cpp wĂ€hre evtl. dennoch nicht verkehrt. ^^
Am 07.09.2013 um 13:23 schrieb PrivateCityHosting [email protected]:

Ich habe in deinem Profil gesehen das du auch Deutsch verstehst, also Antworte ich mal Deutsch und Englisch.
Ich schaue mir den Fehler spÀter mal an, was ich aber noch wissen möchte, ob das nur deine Forked-Repo betrifft oder auch die Generelle Repo?

I will have a look on it later, but could you say me, does this failure only exists on your forked repo, or on the wxphp repo, too?

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

hi, currently they way wxwidgets is generated will not support static compiling into php embedded library due to headers and main module file exposing C++ features. I started working on https://github.com/wxphp/peg to have better code generation and improve everything overall but haven't found time to work on it. Any pull request that fixes current code base is welcome.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Oh I see. Well it makes packaged distribution sort of harder o-o...
Hopefuly there'll be a way to do that though in the future. But untill then I can not work with wxPHP in distributed packages - which is kinda sads since it has a lot of potential. ^^

Regards, Ingwie
Am 08.09.2013 um 04:01 schrieb Jefferson GonzĂĄlez [email protected]:

hi, currently they way wxwidgets is generated will not support static compiling into php embedded library due to headers and main module file exposing C++ features. I started working on https://github.com/wxphp/peg to have better code generation and improve everything overall but haven't found time to work on it. Any pull request that fixes current code base is welcome.

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

I hope this issue will somehow be solved on the future.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

The fix is so dumb it doesnt even require a pullrequest XD!
$ cp ext/wxwidgets/includes/* ext/wxwidgets/
...and it compiles just fine.

The error was, that it couldnt find the files...well how should it, if the folder wasnt added to the include parameters x). However, I am going to look into the config-template, that might give me the opportunity of adding the missing flag. will send in a RR asap. for now, just copy everything from the includes folde rinto the main folder.

The other error that now occurs is plainly a code-related problem:

/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function ‘void zim_php_wxComboCtrl_SetTextIndent(int, zval_, zval__, zval_, int, void**)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:22367: warning: ‘SetTextIndent’ is deprecated (declared at /usr/local/include/wx-2.9/wx/combo.h:363)
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function ‘void zim_php_wxComboCtrl_GetTextIndent(int, zval
, zval**, zval_, int, void_)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:25171: warning: ‘GetTextIndent’ is deprecated (declared at /usr/local/include/wx-2.9/wx/combo.h:366)
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function ‘void zim_php_wxWebView_NewMethod(int, zval*, zval
, zval_, int, void_*)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123926: error: ‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123958: error: ‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123990: error: ‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:124061: error: ‘wxWebViewBackend’ was not declared in this scope
make: *
* [ext/wxwidgets/src/ctrl.lo] Error 1

This is something I can not fix as I dont know what is and what isnt deprecated. Somedev might fix this? o.o

Regards, Ingwie
Am 08.09.2013 um 19:37 schrieb Jefferson GonzĂĄlez [email protected]:

I hope this issue will somehow be solved on the future.

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

The fix is so dumb it doesnt even require a pullrequest XD!
$ cp ext/wxwidgets/includes/* ext/wxwidgets/
...and it compiles just fine.

The error was, that it couldnt find the files...well how should it, if the
folder wasnt added to the include parameters x). However, I am going to
look into the config-template, that might give me the opportunity of adding
the missing flag. will send in a RR asap. for now, just copy everything
from the includes folde rinto the main folder.

Ahhh pretty interesting, you made a discovery :D, when compiling on shared
mode it works fine so on static mode header files need to be on the root
directory of the extension, this kind of behavior is strange. I guess
theres an option needed on the config.m4 when compiling in static mode. I
hope you find a way to fix static builds without braking shared one. I
would be surprised if the extension builds correctly on static mode. You
may also be interested in this:
https://github.com/wxphp/wxphp#linking-statically-to-wxwidgets-on-linuxunixmacosx

The other error that now occurs is plainly a code-related problem:

/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxComboCtrl_SetTextIndent(int, zval_, zval__, zval_, int,
void**)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:22367: warning:
‘SetTextIndent’ is deprecated (declared at
/usr/local/include/wx-2.9/wx/combo.h:363)
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxComboCtrl_GetTextIndent(int, zval
, zval**, zval_, int,
void_)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:25171: warning:
‘GetTextIndent’ is deprecated (declared at
/usr/local/include/wx-2.9/wx/combo.h:366)
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxWebView_NewMethod(int, zval*, zval
, zval_, int,
void_*)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123926: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123958: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123990: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:124061: error:
‘wxWebViewBackend’ was not declared in this scope
make: *
* [ext/wxwidgets/src/ctrl.lo] Error 1

This is something I can not fix as I dont know what is and what isnt
deprecated. Somedev might fix this? o.o

The error here is that you didn't compiled wxWidgets with wxWebView
support. The deprecated messages are just warnings, the real error is the
wxWebViewBackend not been declared. Check:
https://github.com/wxphp/wxphp#compile-wxwidgets-library-and-development-packages

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Perfect. Going to re-compile with webview enabled...probably forgot. But then again my list of parameters is long enough! :D

./configure
--enable-gui
--enable-monolithic
--enable-objc_uniquifying
--enable-intl
--enable-config
--enable-filesystem
--enable-button
--enable-checkbox
--enable-checklist
--enable-choicebook
--enable-choice
--enable-combobox
--enable-dirpicker
--enable-gauge
--enable-filepicker
--enable-hyperlink
--enable-listbox
--enable-radiobox
--enable-radiobtn
--enable-sash
--enable-scrollbar
--enable-searchctrl
--enable-slider
--enable-statusbar
--enable-tabdialog
--enable-togglebtn
--enable-toolbar
--enable-tbarnative
--enable-commondlg
--enable-aboutdlg
--enable-coldlg
--enable-filedlg
--enable-dirdlg
--enable-msgdlg
--enable-spash
--enable-textdlg
--enable-tipdlg
--enable-progressdlg
--enable-wizarddlg
--enable-menus
--enable-tooltips
--enable-miniframe
--enable-filedlg
--disable-gtktest
--disable-sdltest
--with-cocoa

I will read the link at some point. For now, I just want to enable my webview and see if it compiles. It shoudl compile just like in static, its basically just moving the shared objec tinto the binary. Imagine it just like moving a file in a folder, hehe.

Now, fingers crossed. Digging the option for webview! :)

Am 09.09.2013 um 23:19 schrieb Jefferson GonzĂĄlez [email protected]:

The fix is so dumb it doesnt even require a pullrequest XD!
$ cp ext/wxwidgets/includes/* ext/wxwidgets/
...and it compiles just fine.

The error was, that it couldnt find the files...well how should it, if the
folder wasnt added to the include parameters x). However, I am going to
look into the config-template, that might give me the opportunity of adding
the missing flag. will send in a RR asap. for now, just copy everything
from the includes folde rinto the main folder.

Ahhh pretty interesting, you made a discovery :D, when compiling on shared
mode it works fine so on static mode header files need to be on the root
directory of the extension, this kind of behavior is strange. I guess
theres an option needed on the config.m4 when compiling in static mode. I
hope you find a way to fix static builds without braking shared one. I
would be surprised if the extension builds correctly on static mode. You
may also be interested in this:
https://github.com/wxphp/wxphp#linking-statically-to-wxwidgets-on-linuxunixmacosx

The other error that now occurs is plainly a code-related problem:

/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxComboCtrl_SetTextIndent(int, zval_, zval__, zval_, int,
void**)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:22367: warning:
‘SetTextIndent’ is deprecated (declared at
/usr/local/include/wx-2.9/wx/combo.h:363)
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxComboCtrl_GetTextIndent(int, zval
, zval**, zval_, int,
void_)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:25171: warning:
‘GetTextIndent’ is deprecated (declared at
/usr/local/include/wx-2.9/wx/combo.h:366)
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxWebView_NewMethod(int, zval*, zval
, zval_, int,
void_*)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123926: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123958: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123990: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:124061: error:
‘wxWebViewBackend’ was not declared in this scope
make: *
* [ext/wxwidgets/src/ctrl.lo] Error 1

This is something I can not fix as I dont know what is and what isnt
deprecated. Somedev might fix this? o.o

The error here is that you didn't compiled wxWidgets with wxWebView
support. The deprecated messages are just warnings, the real error is the
wxWebViewBackend not been declared. Check:
https://github.com/wxphp/wxphp#compile-wxwidgets-library-and-development-packages
—
Reply to this email directly or view it on GitHub.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Ohh, look:

dnl Add additional includes directory
if test -n "$ext_srcdir"; then
    PHP_WXWIDGETS_CFLAGS="-I$ext_srcdir/includes";
else
    PHP_WXWIDGETS_CFLAGS="-Iincludes";
fi

This little piece from config.m4 could be the cause of the missing includes! :) However, I dunno with what $ext_srcdir is filled - but I am sure that in here we need to change osmething.
Am 09.09.2013 um 23:28 schrieb Kevin Ingwersen [email protected]:

Perfect. Going to re-compile with webview enabled...probably forgot. But then again my list of parameters is long enough! :D

./configure
--enable-gui
--enable-monolithic
--enable-objc_uniquifying
--enable-intl
--enable-config
--enable-filesystem
--enable-button
--enable-checkbox
--enable-checklist
--enable-choicebook
--enable-choice
--enable-combobox
--enable-dirpicker
--enable-gauge
--enable-filepicker
--enable-hyperlink
--enable-listbox
--enable-radiobox
--enable-radiobtn
--enable-sash
--enable-scrollbar
--enable-searchctrl
--enable-slider
--enable-statusbar
--enable-tabdialog
--enable-togglebtn
--enable-toolbar
--enable-tbarnative
--enable-commondlg
--enable-aboutdlg
--enable-coldlg
--enable-filedlg
--enable-dirdlg
--enable-msgdlg
--enable-spash
--enable-textdlg
--enable-tipdlg
--enable-progressdlg
--enable-wizarddlg
--enable-menus
--enable-tooltips
--enable-miniframe
--enable-filedlg
--disable-gtktest
--disable-sdltest
--with-cocoa

I will read the link at some point. For now, I just want to enable my webview and see if it compiles. It shoudl compile just like in static, its basically just moving the shared objec tinto the binary. Imagine it just like moving a file in a folder, hehe.

Now, fingers crossed. Digging the option for webview! :)

Am 09.09.2013 um 23:19 schrieb Jefferson GonzĂĄlez [email protected]:

The fix is so dumb it doesnt even require a pullrequest XD!
$ cp ext/wxwidgets/includes/* ext/wxwidgets/
...and it compiles just fine.

The error was, that it couldnt find the files...well how should it, if the
folder wasnt added to the include parameters x). However, I am going to
look into the config-template, that might give me the opportunity of adding
the missing flag. will send in a RR asap. for now, just copy everything
from the includes folde rinto the main folder.

Ahhh pretty interesting, you made a discovery :D, when compiling on shared
mode it works fine so on static mode header files need to be on the root
directory of the extension, this kind of behavior is strange. I guess
theres an option needed on the config.m4 when compiling in static mode. I
hope you find a way to fix static builds without braking shared one. I
would be surprised if the extension builds correctly on static mode. You
may also be interested in this:
https://github.com/wxphp/wxphp#linking-statically-to-wxwidgets-on-linuxunixmacosx

The other error that now occurs is plainly a code-related problem:

/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxComboCtrl_SetTextIndent(int, zval_, zval__, zval_, int,
void**)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:22367: warning:
‘SetTextIndent’ is deprecated (declared at
/usr/local/include/wx-2.9/wx/combo.h:363)
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxComboCtrl_GetTextIndent(int, zval
, zval**, zval_, int,
void_)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:25171: warning:
‘GetTextIndent’ is deprecated (declared at
/usr/local/include/wx-2.9/wx/combo.h:366)
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxWebView_NewMethod(int, zval*, zval
, zval_, int,
void_*)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123926: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123958: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123990: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:124061: error:
‘wxWebViewBackend’ was not declared in this scope
make: *
* [ext/wxwidgets/src/ctrl.lo] Error 1

This is something I can not fix as I dont know what is and what isnt
deprecated. Somedev might fix this? o.o

The error here is that you didn't compiled wxWidgets with wxWebView
support. The deprecated messages are just warnings, the real error is the
wxWebViewBackend not been declared. Check:
https://github.com/wxphp/wxphp#compile-wxwidgets-library-and-development-packages
—
Reply to this email directly or view it on GitHub.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Hmm, still no fix. :/

/Users/Ingwie/work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function ‘void zim_php_wxComboCtrl_SetTextIndent(int, zval_, zval__, zval_, int, void**)’:
/Users/Ingwie/work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:22367: warning: ‘SetTextIndent’ is deprecated (declared at /usr/local/include/wx-2.9/wx/combo.h:363)
/Users/Ingwie/work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function ‘void zim_php_wxComboCtrl_GetTextIndent(int, zval
, zval**, zval_, int, void_)’:
/Users/Ingwie/work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:25171: warning: ‘GetTextIndent’ is deprecated (declared at /usr/local/include/wx-2.9/wx/combo.h:366)
/Users/Ingwie/work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function ‘void zim_php_wxWebView_NewMethod(int, zval*, zval
, zval_, int, void_*)’:
/Users/Ingwie/work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123926: error: ‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123958: error: ‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123990: error: ‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:124061: error: ‘wxWebViewBackend’ was not declared in this scope
make: *
* [ext/wxwidgets/src/ctrl.lo] Error 1

I very surely have the backend and such in. But I cant inspect the ctrl.cpp file to check for the scope - looks like something rater simple, but then again im not sure.
Am 09.09.2013 um 23:36 schrieb Kevin Ingwersen [email protected]:

Ohh, look:

dnl Add additional includes directory
if test -n "$ext_srcdir"; then
PHP_WXWIDGETS_CFLAGS="-I$ext_srcdir/includes";
else
PHP_WXWIDGETS_CFLAGS="-Iincludes";
fi

This little piece from config.m4 could be the cause of the missing includes! :) However, I dunno with what $ext_srcdir is filled - but I am sure that in here we need to change osmething.
Am 09.09.2013 um 23:28 schrieb Kevin Ingwersen [email protected]:

Perfect. Going to re-compile with webview enabled...probably forgot. But then again my list of parameters is long enough! :D

./configure
--enable-gui
--enable-monolithic
--enable-objc_uniquifying
--enable-intl
--enable-config
--enable-filesystem
--enable-button
--enable-checkbox
--enable-checklist
--enable-choicebook
--enable-choice
--enable-combobox
--enable-dirpicker
--enable-gauge
--enable-filepicker
--enable-hyperlink
--enable-listbox
--enable-radiobox
--enable-radiobtn
--enable-sash
--enable-scrollbar
--enable-searchctrl
--enable-slider
--enable-statusbar
--enable-tabdialog
--enable-togglebtn
--enable-toolbar
--enable-tbarnative
--enable-commondlg
--enable-aboutdlg
--enable-coldlg
--enable-filedlg
--enable-dirdlg
--enable-msgdlg
--enable-spash
--enable-textdlg
--enable-tipdlg
--enable-progressdlg
--enable-wizarddlg
--enable-menus
--enable-tooltips
--enable-miniframe
--enable-filedlg
--disable-gtktest
--disable-sdltest
--with-cocoa

I will read the link at some point. For now, I just want to enable my webview and see if it compiles. It shoudl compile just like in static, its basically just moving the shared objec tinto the binary. Imagine it just like moving a file in a folder, hehe.

Now, fingers crossed. Digging the option for webview! :)

Am 09.09.2013 um 23:19 schrieb Jefferson GonzĂĄlez [email protected]:

The fix is so dumb it doesnt even require a pullrequest XD!
$ cp ext/wxwidgets/includes/* ext/wxwidgets/
...and it compiles just fine.

The error was, that it couldnt find the files...well how should it, if the
folder wasnt added to the include parameters x). However, I am going to
look into the config-template, that might give me the opportunity of adding
the missing flag. will send in a RR asap. for now, just copy everything
from the includes folde rinto the main folder.

Ahhh pretty interesting, you made a discovery :D, when compiling on shared
mode it works fine so on static mode header files need to be on the root
directory of the extension, this kind of behavior is strange. I guess
theres an option needed on the config.m4 when compiling in static mode. I
hope you find a way to fix static builds without braking shared one. I
would be surprised if the extension builds correctly on static mode. You
may also be interested in this:
https://github.com/wxphp/wxphp#linking-statically-to-wxwidgets-on-linuxunixmacosx

The other error that now occurs is plainly a code-related problem:

/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxComboCtrl_SetTextIndent(int, zval_, zval__, zval_, int,
void**)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:22367: warning:
‘SetTextIndent’ is deprecated (declared at
/usr/local/include/wx-2.9/wx/combo.h:363)
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxComboCtrl_GetTextIndent(int, zval
, zval**, zval_, int,
void_)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:25171: warning:
‘GetTextIndent’ is deprecated (declared at
/usr/local/include/wx-2.9/wx/combo.h:366)
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp: In function
‘void zim_php_wxWebView_NewMethod(int, zval*, zval
, zval_, int,
void_*)’:
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123926: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123958: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:123990: error:
‘wxWebViewBackend’ was not declared in this scope
/Users/Ingwie/Work/drag0n-php/ext/wxwidgets/src/ctrl.cpp:124061: error:
‘wxWebViewBackend’ was not declared in this scope
make: *
* [ext/wxwidgets/src/ctrl.lo] Error 1

This is something I can not fix as I dont know what is and what isnt
deprecated. Somedev might fix this? o.o

The error here is that you didn't compiled wxWidgets with wxWebView
support. The deprecated messages are just warnings, the real error is the
wxWebViewBackend not been declared. Check:
https://github.com/wxphp/wxphp#compile-wxwidgets-library-and-development-packages
—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

You should log the output of ./configure for wxWidgets to make sure it was configured with wxWebView enabled. Something like: ./configure > output.log 2>&1

Also, are you building with wxWidgets 2.9.4?
svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_9_4 wxWidgets

Newer code on svn repo of wxWidgets will not work for sure. (haven't tested for some months)

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Ehm...nup. I used 2.9.5 o-o I'm going to try 2.9.4 first.
Am 10.09.2013 um 00:49 schrieb Jefferson GonzĂĄlez [email protected]:

You should log the output of ./configure for wxWidgets to make sure it was configured with wxWebView enabled. Something like: ./configure > output.log 2>&1

Also, are you building with wxWidgets 2.9.4?
svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_9_4 wxWidgets

Newer code on svn repo of wxWidgets will not work for sure. (haven't tested for some months)

—
Reply to this email directly or view it on GitHub.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Now that I put in the -.4 release, it compiled quite well untill it tried to work with a file named buffer.h . I am currently re-making it, and appending a logfile, because this is sort of tedius. I got 20 errors reported o-o

Am 10.09.2013 um 00:49 schrieb Jefferson GonzĂĄlez [email protected]:

You should log the output of ./configure for wxWidgets to make sure it was configured with wxWebView enabled. Something like: ./configure > output.log 2>&1

Also, are you building with wxWidgets 2.9.4?
svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_9_4 wxWidgets

Newer code on svn repo of wxWidgets will not work for sure. (haven't tested for some months)

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

also try to build with a clean wxphp directory, artifacts of previous build tryouts with wxWidgets 2.9.5 may produce problems.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

I just made the folder clean and re-pulled from github cleanly. And the result is the same.

Turns out that PHP doesnt like the class-keyword for some reason O_o

In file included from main/internal_functions.c:64:
In file included from /Users/Ingwie/Work/drag0n-php/ext/wxwidgets/php_wxwidgets.h:19:
In file included from /Users/Ingwie/Work/drag0n-php/ext/wxwidgets/common.h:35:
In file included from /usr/local/include/wx-2.9/wx/wx.h:16:
In file included from /usr/local/include/wx-2.9/wx/object.h:20:
In file included from /usr/local/include/wx-2.9/wx/memory.h:16:
In file included from /usr/local/include/wx-2.9/wx/string.h:51:
In file included from /usr/local/include/wx-2.9/wx/strvararg.h:21:
In file included from /usr/local/include/wx-2.9/wx/strconv.h:18:
/usr/local/include/wx-2.9/wx/buffer.h:20:1: error: unknown type name 'class'
class WXDLLIMPEXP_FWD_BASE wxCStrData;
^

Same goes for namespace:

/usr/local/include/wx-2.9/wx/buffer.h:28:1: error: unknown type name 'namespace'
namespace wxPrivate
^
/usr/local/include/wx-2.9/wx/buffer.h:28:20: error: expected ';' after top level declarator
namespace wxPrivate

The follow-up errors are basically just yelling: i dont know what to do!

So somehow, we need to tell PHP to not use gcc here - we need a cpp compiler in that place. To change that, changes have to be done to config.m4 to define the right compilers. At least that is my guess. AFAIK, the class and namespace keyword only appear in c++ - not in c. the buffer.h file is interpreted with C syntax.

Somebody please fix the config.m4. all the tests seem to get thru but when it goes to compile some dependencies, it just outright dies. And that isnt even PHP related, since it DID compile when I made the monolith build. So that should not be the issue here.

So whoever can fix config.m4 would do me a GREAT favor =)...or just tell me what to fix how to get the classes and namespaces interpreted right.

Regards, Ingwie
Am 10.09.2013 um 14:25 schrieb Jefferson GonzĂĄlez [email protected]:

also try to build with a clean wxphp directory, artifacts of previous build tryouts with wxWidgets 2.9.5 may produce problems.

—
Reply to this email directly or view it on GitHub.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

I read a little further, and now I know whats up. XD
I have to find a way to tell PHP to use g++ all thru te process - because it falls back to gcc and of course, a cpp header file will crash the process. So I am now looking in how to change that thing. goddamnit...never thought implementing a c++ module would be so hard! XD
Am 10.09.2013 um 22:47 schrieb Kevin Ingwersen [email protected]:

I just made the folder clean and re-pulled from github cleanly. And the result is the same.

Turns out that PHP doesnt like the class-keyword for some reason O_o

In file included from main/internal_functions.c:64:
In file included from /Users/Ingwie/Work/drag0n-php/ext/wxwidgets/php_wxwidgets.h:19:
In file included from /Users/Ingwie/Work/drag0n-php/ext/wxwidgets/common.h:35:
In file included from /usr/local/include/wx-2.9/wx/wx.h:16:
In file included from /usr/local/include/wx-2.9/wx/object.h:20:
In file included from /usr/local/include/wx-2.9/wx/memory.h:16:
In file included from /usr/local/include/wx-2.9/wx/string.h:51:
In file included from /usr/local/include/wx-2.9/wx/strvararg.h:21:
In file included from /usr/local/include/wx-2.9/wx/strconv.h:18:
/usr/local/include/wx-2.9/wx/buffer.h:20:1: error: unknown type name 'class'
class WXDLLIMPEXP_FWD_BASE wxCStrData;
^

Same goes for namespace:

/usr/local/include/wx-2.9/wx/buffer.h:28:1: error: unknown type name 'namespace'
namespace wxPrivate
^
/usr/local/include/wx-2.9/wx/buffer.h:28:20: error: expected ';' after top level declarator
namespace wxPrivate

The follow-up errors are basically just yelling: i dont know what to do!

So somehow, we need to tell PHP to not use gcc here - we need a cpp compiler in that place. To change that, changes have to be done to config.m4 to define the right compilers. At least that is my guess. AFAIK, the class and namespace keyword only appear in c++ - not in c. the buffer.h file is interpreted with C syntax.

Somebody please fix the config.m4. all the tests seem to get thru but when it goes to compile some dependencies, it just outright dies. And that isnt even PHP related, since it DID compile when I made the monolith build. So that should not be the issue here.

So whoever can fix config.m4 would do me a GREAT favor =)...or just tell me what to fix how to get the classes and namespaces interpreted right.

Regards, Ingwie
Am 10.09.2013 um 14:25 schrieb Jefferson GonzĂĄlez [email protected]:

also try to build with a clean wxphp directory, artifacts of previous build tryouts with wxWidgets 2.9.5 may produce problems.

—
Reply to this email directly or view it on GitHub.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

So even after exporting CXX and C to become g++, I still seem to be compiling on C-level :/

/bin/sh /Users/Ingwie/Work/drag0n-php/libtool --silent --preserve-dup-deps --mode=compile cc -Imain/ -I/Users/Ingwie/Work/drag0n-php/main/ -DPHP_ATOM_INC -I/Users/Ingwie/Work/drag0n-php/include -I/Users/Ingwie/Work/drag0n-php/main -I/Users/Ingwie/Work/drag0n-php -I/Users/Ingwie/Work/drag0n-php/ext/date/lib -I/Users/Ingwie/Work/drag0n-php/ext/ereg/regex -I/usr/include/libxml2 -I/usr/local/include -I/Users/Ingwie/Work/drag0n-php/ext/mbstring/oniguruma -I/Users/Ingwie/Work/drag0n-php/ext/mbstring/libmbfl -I/Users/Ingwie/Work/drag0n-php/ext/mbstring/libmbfl/mbfl -I/Users/Ingwie/Work/drag0n-php/ext/sqlite3/libsqlite -I/Users/Ingwie/Work/drag0n-php/ext/pthreads -I/usr/include/tidy -I/Users/Ingwie/Work/drag0n-php/ext/tokenizer/includes -I/usr/local/lib/wx/include/osx_cocoa-unicode-2.9 -I/usr/local/include/wx-2.9 -I/Users/Ingwie/Work/drag0n-php/TSRM -I/Users/Ingwie/Work/drag0n-php/Zend -no-cpp-precomp -I/usr/include -g -O2 -fvisibility=hidden -DZTS -c main/internal_functions.c -o main/internal_functions.lo

That is the last call before everyting errors. it uses libtool, and the cc command, which links to the clang c/c++/obj-c compiler.

I am so confoost. o_o
Am 10.09.2013 um 14:25 schrieb Jefferson GonzĂĄlez [email protected]:

also try to build with a clean wxphp directory, artifacts of previous build tryouts with wxWidgets 2.9.5 may produce problems.

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

so you are trying to compile wxphp statically to a single php binary/library? as far as I know the config.m4 already has a line to tell the build system about using g++ instead of plain gcc:
https://github.com/wxphp/wxphp/blob/master/config.m4#L15

Maybe the solution would be to use another strategy when generating the extension source code that doesn't makes use of C++ on the header files that are going to be used on the main module file. Things like this is why I started writing PEG, in order to have a cleaner generator code base as make better decisions that adapt to different scenarios.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Well any suggestion or help to make this work is welcome =). I sadly cant get any further information since I am just a PHP dude, no low-level stuff for me o-o
But, what exactly is that PEG?
Am 11.09.2013 um 23:00 schrieb Jefferson GonzĂĄlez [email protected]:

so you are trying to compile wxphp statically to a single php binary/library? as far as I know the config.m4 already has a line to tell the build system about using g++ instead of plain gcc:
https://github.com/wxphp/wxphp/blob/master/config.m4#L15

Maybe the solution would be to use another strategy when generating the extension source code that doesn't makes use of C++ on the header files that are going to be used on the main module file. Things like this is why I started writing PEG, in order to have a cleaner generator code base as make better decisions that adapt to different scenarios.

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

PEG: A command line php application to generate PHP extensions that binds third party C/C++ libraries using definition files like those output by documentation tools like doxygen. The idea is that this application is extensible by use of plugins as give you total control of the generated code by supporting templates.
https://github.com/wxphp/peg

PEG already has commands to parse doxygen files and generate json definition files as some other basic features like generating an extension skeleton. The important bit missing is code generation, which should be a refactoring of current code generator.

Currently the wxphp code is 99% auto-generated. I wrote a tool that reads the doxygen xml files of wxWidgets and generates some json files that are used to then generate the C/C++ code of the wxphp extension that binds the wxWidgets library. Current generator code sucks and looks more like a hack than a tool to assist you on this job, it was first a single php source file with a bunch of variable names that didn't make sense, made by previous developers, I took the code improved it and added more features, but still it sucks in my opinion.
https://github.com/wxphp/wxphp/tree/master/tools/source_maker

Since peg is coded in PHP it should be easier for people with no C/C++ experience to contribute to it. And it would be a tools that can be used to generate php bindings for any existing library with little effort.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Now thats so cool =)! Love the idea. When I get some time, I am going to eye over it and see what I can contribute. Because I love good ideas, and well, I have become quite fancy with PHP. :)
Am 11.09.2013 um 23:22 schrieb Jefferson GonzĂĄlez [email protected]:

PEG: A command line php application to generate PHP extensions that binds third party C/C++ libraries using definition files like those output by documentation tools like doxygen. The idea is that this application is extensible by use of plugins as give you total control of the generated code by supporting templates.
https://github.com/wxphp/peg

PEG already has commands to parse doxygen files and generate json definition files as some other basic features like generating an extension skeleton. The important bit missing is code generation, which should be a refactoring of current code generator.

Currently the wxphp code is 99% auto-generated. I wrote a tool that reads the doxygen xml files of wxWidgets and generates some json files that are used to then generate the C/C++ code of the wxphp extension that binds the wxWidgets library. Current generator code sucks and looks more like a hack than a tool to assist you on this job, it was first a single php source file with a bunch of variable names that didn't make sense, made by previous developers, I took the code improved it and added more features, but still it sucks in my opinion.
https://github.com/wxphp/wxphp/tree/master/tools/source_maker

Since peg is coded in PHP it should be easier for people with no C/C++ experience to contribute to it. And it would be a tools that can be used to generate php bindings for any existing library with little effort.

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

some long weeks ago I started experimenting with swig: https://github.com/wxphp/wxphp-swig an existing glue generator for many languages, but I dont like how it works for PHP, since its object oriented support is not implemented using the core php, but instead using a php interface files that implements objects which call the swig generated binding functions

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

I see. Well I am not sure if that would solve my issue :). But ill look into it, just for the curiosity of it.
If you find any solution for having the compiler interpret the c++ headers correctly through the whole process, that'd be great. wxWidgets' headers are all cpp headers x)
Am 11.09.2013 um 23:26 schrieb Jefferson GonzĂĄlez [email protected]:

some long weeks ago I started experimenting with swig: https://github.com/wxphp/wxphp-swig an existing glue generator for many languages, but I dont like how it works for PHP, since its object oriented support is not implemented using the core php, but instead using a php interface files that implements objects which call the swig generated binding functions

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

When building the whole PHP did you tried something like:

CC="g++" ./configure --options

You mentioned you tried to override the compiler but not the method you used. Also make sure to build php on a clean source tree, there was an option to clean the php source tree, because when configure is ran previously it will ignore new configure options when trying to rebuild (something like that, I forgot =p)

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

I set different flags, but honestly I didnt try to export CC :)
I am trying that rightnow
The command to clean the PHP tree is:

make distclean
rm configure
./buildconf --force

Clean config file, removed config caches, and also clean source tree. :)
Am 12.09.2013 um 14:56 schrieb Jefferson GonzĂĄlez [email protected]:

When building the whole PHP did you tried something like:

CC="g++" ./configure --options

You mentioned you tried to override the compiler but not the method you used. Also make sure to build php on a clean source tree, there was an option to clean the php source tree, because when configure is ran previously it will ignore new configure options when trying to rebuild (something like that, I forgot =p)

—
Reply to this email directly or view it on GitHub.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Setting CC breaks my configuration on xml2 test build - it cant find some symbols and such stuff (i just dealt that out on another module...)
Am 12.09.2013 um 15:10 schrieb Kevin Ingwersen [email protected]:

I set different flags, but honestly I didnt try to export CC :)
I am trying that rightnow
The command to clean the PHP tree is:

make distclean
rm configure
./buildconf --force

Clean config file, removed config caches, and also clean source tree. :)
Am 12.09.2013 um 14:56 schrieb Jefferson GonzĂĄlez [email protected]:

When building the whole PHP did you tried something like:

CC="g++" ./configure --options

You mentioned you tried to override the compiler but not the method you used. Also make sure to build php on a clean source tree, there was an option to clean the php source tree, because when configure is ran previously it will ignore new configure options when trying to rebuild (something like that, I forgot =p)

—
Reply to this email directly or view it on GitHub.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Output:

configure:22000: checking for xml2-config path
configure:22014: result: /usr/bin/xml2-config
configure:22158: checking whether libxml build works
configure:22185: g++ -o conftest -g -O2 -fvisibility=hidden -I/usr/local/lib/gnupg -no-cpp-precomp conftest.c

     -lm -L/usr/local/lib -lgpgme -lassuan -lgpg-error -L/usr/local/lib -lgcrypt -lgpg-error -lxml2 -lxml2 >&5

Undefined symbols for architecture x86_64:
"xmlInitParser()", referenced from:
_main in ccHVtzHD.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
configure:22185: $? = 1
configure: program exited with status 1

Am 12.09.2013 um 15:18 schrieb Kevin Ingwersen [email protected]:

Setting CC breaks my configuration on xml2 test build - it cant find some symbols and such stuff (i just dealt that out on another module...)
Am 12.09.2013 um 15:10 schrieb Kevin Ingwersen [email protected]:

I set different flags, but honestly I didnt try to export CC :)
I am trying that rightnow
The command to clean the PHP tree is:

make distclean
rm configure
./buildconf --force

Clean config file, removed config caches, and also clean source tree. :)
Am 12.09.2013 um 14:56 schrieb Jefferson GonzĂĄlez [email protected]:

When building the whole PHP did you tried something like:

CC="g++" ./configure --options

You mentioned you tried to override the compiler but not the method you used. Also make sure to build php on a clean source tree, there was an option to clean the php source tree, because when configure is ran previously it will ignore new configure options when trying to rebuild (something like that, I forgot =p)

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

mmm things like this make you want to be a compiler guru :)

I was searching on google and found this interesting link:
http://stackoverflow.com/questions/9272566/gcc-ld-symbols-not-found-for-architecture-x86-64

It is related to ocaml but it seems to also apply on this case (-m32, m64)

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

I have seen this before - and actualy that is not the case since in any other case in which g++ is not involved - and which cc (aka. clang) - is used, it seems to work. I am having the slight feeling that my libxml is a little messed up since it was compiled with clang. o-o

I will try again later. I recently had a similar issue on gnuPG for PHP. it was solved by adding a missing library to LIBS.
Am 12.09.2013 um 15:35 schrieb Jefferson GonzĂĄlez [email protected]:

mmm things like this make you want to be a compiler guru :)

I was searching on google and found this interesting link:
http://stackoverflow.com/questions/9272566/gcc-ld-symbols-not-found-for-architecture-x86-64

It is related to ocaml but it seems to also apply on this case (-m32, m64)

—
Reply to this email directly or view it on GitHub.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

This won't work - I just tried. I used the failed config.log to get the pseudo-code it generated, pasted it into a file, and re-used the command. Output? Same.
I dont know why it is happening, but I know that the last time it happened it had to do with somethign being not defined in a n object, and the linker having issues doing its job. Why it works in gcc however, I dont know... The only guess I have is, that it has to do with how g++ and gcc are different in their nature. I cant even find a fix for that on google that actualy works o-o
Am 12.09.2013 um 15:35 schrieb Jefferson GonzĂĄlez [email protected]:

mmm things like this make you want to be a compiler guru :)

I was searching on google and found this interesting link:
http://stackoverflow.com/questions/9272566/gcc-ld-symbols-not-found-for-architecture-x86-64

It is related to ocaml but it seems to also apply on this case (-m32, m64)

—
Reply to this email directly or view it on GitHub.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

I now posted the issue to a PHP mailing list...hopefuly i can get a solution that way.
Am 12.09.2013 um 21:21 schrieb Kevin Ingwersen [email protected]:

This won't work - I just tried. I used the failed config.log to get the pseudo-code it generated, pasted it into a file, and re-used the command. Output? Same.
I dont know why it is happening, but I know that the last time it happened it had to do with somethign being not defined in a n object, and the linker having issues doing its job. Why it works in gcc however, I dont know... The only guess I have is, that it has to do with how g++ and gcc are different in their nature. I cant even find a fix for that on google that actualy works o-o
Am 12.09.2013 um 15:35 schrieb Jefferson GonzĂĄlez [email protected]:

mmm things like this make you want to be a compiler guru :)

I was searching on google and found this interesting link:
http://stackoverflow.com/questions/9272566/gcc-ld-symbols-not-found-for-architecture-x86-64

It is related to ocaml but it seems to also apply on this case (-m32, m64)

—
Reply to this email directly or view it on GitHub.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

I fixed it! ^_^

The config.m4 was modifying CXX flags. So in that case, the global build process would at some point change with the additional flags. I now changed it, and it compiles wonderfuly in static mode =)

I'll post the file content, since its not worth making a full PR for just 2 changed lines later.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Ok, I hyped myself a little too early here. X3

I have been looking into PHP extension development since a little while, and I realized what the issue is.

During configuration, internal_functions.c gets filled with some #includes - including php_wxwidgets.h. In this file, we are doing c++ stuff like class and such. This shouldn't be done in this file actualy. Because that is the only file refferenced from PHP from outside. So, this .h file must conduct to the C rules - and no c++.

If you could just move all the c++ stuff outside this function, that would make things rather easier.

You can look into php-easywsclient on my account. Its not done, but it essentially is a wrapper for c++ functions and alike.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

thanks a lot for your research it lead to valuable information. This means common.h include and the phpclientdata class needs to be put on a separate file included only from wxwidgets.cpp if I'm not mistaken. Maybe the C++ elements on common.h in conjunction with the Phpclientdata class on php_wxwidgets.h can be moved to a seperate file named wx_resources.h or something like that. I wish I could play now with the sources to resolve this issue (working on many things at same time).

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Well, I am just fine-tuning things. I might issue a pull request in just a few hours :p
My research should be completed in just a bit actualy. It compiles and things are done correctly now. the CXXFLAGS dont stick around forever, the c++ elements are moved out of php_wxwidgets.h, a bug in there fixed too. common.h now includes wx_widgets.h instead and contains the c++ code. That way, PHP can savely include php_wxwidgets.h without gcc going insane from the C++ code. :)
Am 29.09.2013 um 22:34 schrieb Jefferson GonzĂĄlez [email protected]:

thanks a lot for your research it lead to valuable information. This means common.h include and the phpclientdata class needs to be put on a separate file included only from wxwidgets.cpp if I'm not mistaken. Maybe the C++ elements on common.h in conjunction with the Phpclientdata class on php_wxwidgets.h can be moved to a seperate file named wx_resources.h or something like that. I wish I could play now with the sources to resolve this issue (working on many things at same time).

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

you rock man! I'm gonna wait for the tasty pull request 👍

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Looks like I found the fix. :)

Now there is one other, but really rather tiny, issue. Err... which configure options for wxWidgets did you use? xD

The current issue is that it can not find symbols, meaning that it basically can not compile correctly. Either I forgot to turn something on or so...but it is trying to refference to some functions which arent available. So having your configure flags might be helpful.

Also, the monolithic flag is sorto f broken. I fixed it by just erasing the "all" keyword.
Am 29.09.2013 um 22:47 schrieb Jefferson GonzĂĄlez [email protected]:

you rock man! I'm gonna wait for the tasty pull request

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

I used default configure options for wxWidgets with webkitgtk installed so wxWebView is enabled, you can refer to https://github.com/wxphp/wxphp#compile-wxwidgets-library-and-development-packages

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Ah, well webkit is preinstalled on Mac's because Safari uses it. Then I just gotta try to compile it as basic as possible. ^^ But hey, it is already getting at the point where it is creating the actual PHP binary, way further than before :)
Am 30.09.2013 um 01:26 schrieb Jefferson GonzĂĄlez [email protected]:

I used default configure options for wxWidgets with webkitgtk installed so wxWebView is enabled, you can refer to https://github.com/wxphp/wxphp#compile-wxwidgets-library-and-development-packages

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

thats nice!

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

As I am currently peeking and poking this thing all aorund, I have another, rather unrelated, question. I have this library called easywsclient, found on github. It is a c++ library. I have created an own little wrapper for it. However, there is one issue. I want to store the class instance that it uses into $this, or at least the pointer to it. I have posted my current state on github...maybe you can help me on that. I need to store the class instance that was created so I can run class-level actions on it, like class->method(params). I am mainly stuck at extracting a property from $this at the c-side. Do you know how I would do that? I know i have to get $this by doing
zval *_this = getThis();
...but how do i then get the properties?
Am 30.09.2013 um 02:17 schrieb Jefferson GonzĂĄlez [email protected]:

thats nice!

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

hi man, sorry for the long delay, not sure if you are still working on the easywsclient wrapper but here is how I do it on wxphp. Create a struct to store a pointer to class that emulates the zend_object struct, something like this

struct zo_wxApp
{
zend_object zo;
wxApp* native_object;
};

A guy at php told me how to do it and I started writing some php development manual, but haven't found the time to finish it xD but here is the current writing exactly as I was told:

https://github.com/jgmdev/dev-php-ext/blob/master/Developing%20PHP%20Extensions.txt#L508

If you have doubts I can help at #wxphp channel at freenode, I could extract some code snippets from wxphp as example.

from wxphp.

IngwiePhoenix avatar IngwiePhoenix commented on June 4, 2024

Hey!
Oh its fine. ^^
Well, i paused coding the easywsclient-php extension - because i am currently more active with what builds code - toolchains. I also am learning ObjC to understand things more. But sooner or later I will resume on the extension - actually, before this year ends. I’ve got quiiite a lot of knowledge of C now - but
omaigod the PHP API doc. XD
PLEASE keep going on the documentation, because everything I found so far has NOTHING about objects and classes and the like. Basic functions and it even tells how to structure a class but
nothing beyond - like how to properly use $this (zval *this = getThis() etc).
But thanks for the help, Ill try it out in a few days and see how itll operate! ^^
Ill check the iRC channel at some point when im coding. I am currently just doing a lot of other low level development. ^^;
Kind regards~ :3
Am 29.11.2013 um 19:15 schrieb Jefferson GonzĂĄlez [email protected]:

hi man, sorry for the long delay, not sure if you are still working on the easywsclient wrapper but here is how I do it on wxphp. Create and struct to store a pointer to class that emulates the zend_object struct, something like this

struct zo_wxApp
{
zend_object zo;
wxApp* native_object;
};

A guy at php told me how to do it and I started writing some php development manual, but haven't found the time to finish it xD but here is the current writing exactly as I was told:

https://github.com/jgmdev/dev-php-ext/blob/master/Developing%20PHP%20Extensions.txt#L508

If you have doubts I can help at #wxphp channel at freenode, I could extract some code snippets from wxphp as example.

—
Reply to this email directly or view it on GitHub.

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

I forgot about this new effort, covers good stuff of classes http://www.phpinternalsbook.com/

from wxphp.

jgmdev avatar jgmdev commented on June 4, 2024

I let this issue open as a reminder that new wxPHP code generator called PEG should generate the code in a way that permits statically linking the library directly on PHP for this kind of distribution, I think I have implemented mostly of what was needed for this on new generator so I will close for now.

from wxphp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.