Re: [wxhaskell-devel] Darcs patch: support for XRC based resources in wxHaskell
Hi, On Tue, 21 Oct 2008 19:59:52 +0900, Jeremy O'Donoghue [EMAIL PROTECTED] wrote: Attached is a set of patches to enable XRC support in wxHaskell Darcs head, along with a couple of samples (in the samples/test/XRCControls directory) showing how to use the new functionality. They have only really been tested on Windows, so it would help if people can look for bugs on other platforms. I got error when building wxc with xrc.patch on Mac OS X platform. g++ -c wxc/src/eljrc.cpp -o dist/wxc/eljrc.o -MD -DwxcREFUSE_MEDIACTRL -I/usr/lib/wx/include/mac-unicode-debug-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXDEBUG__ -D__WXMAC__ -DwxUSE_STC=1 -DwxUSE_SVG=1 -fPIC -Iwxc/include wxc/src/eljrc.cpp:437:1: error: pasting wxSizer and * does not give a valid preprocessing token wxc/src/eljrc.cpp:437:1: error: pasting wxSizer and * does not give a valid preprocessing token wxc/src/eljrc.cpp:438:1: error: pasting wxBoxSizer and * does not give a valid preprocessing token (snip) make: *** [dist/wxc/eljrc.o] Error 1 Build Failed. It seems that BUILD_XRCGETCTRL_FN macro causes problem. Does anyone knows how to solve this problem? My Mac's gcc version is 4.0.1. shelarcy$ gcc -v Using built-in specs. Target: i686-apple-darwin9 Configured with: /var/tmp/gcc/gcc-5484~1/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin9 --with-arch=apple --with-tune=generic --host=i686-apple-darwin9 --target=i686-apple-darwin9 Thread model: posix gcc version 4.0.1 (Apple Inc. build 5484) Best Regards, -- shelarcy shelarcyhotmail.co.jp http://page.freett.com/shelarcy/ - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ wxhaskell-devel mailing list wxhaskell-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-devel
Re: [wxhaskell-devel] Darcs patch: support for XRC based resources in wxHaskell
On Thu, 23 Oct 2008 21:59:36 +0900, shelarcy [EMAIL PROTECTED] wrote: I got error when building wxc with xrc.patch on Mac OS X platform. g++ -c wxc/src/eljrc.cpp -o dist/wxc/eljrc.o -MD -DwxcREFUSE_MEDIACTRL -I/usr/lib/wx/include/mac-unicode-debug-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXDEBUG__ -D__WXMAC__ -DwxUSE_STC=1 -DwxUSE_SVG=1 -fPIC -Iwxc/include wxc/src/eljrc.cpp:437:1: error: pasting wxSizer and * does not give a valid preprocessing token wxc/src/eljrc.cpp:437:1: error: pasting wxSizer and * does not give a valid preprocessing token wxc/src/eljrc.cpp:438:1: error: pasting wxBoxSizer and * does not give a valid preprocessing token (snip) make: *** [dist/wxc/eljrc.o] Error 1 Build Failed. It seems that BUILD_XRCGETCTRL_FN macro causes problem. Does anyone knows how to solve this problem? I fixed problem by below way. hunk ./wxc/src/eljrc.cpp 432 - EWXWEXPORT(wx##_typ##*, wxXmlResource_Get##_typ)(wxWindow* _win, wxString* _str_id) \ + EWXWEXPORT(wx##_typ *, wxXmlResource_Get##_typ)(wxWindow* _win, wxString* _str_id) \ hunk ./wxc/src/eljrc.cpp 434 - return reinterpret_castwx##_typ##*(_win-FindWindow(wxXmlResource::GetXRCID(*_str_id))); \ + return reinterpret_castwx##_typ *(_win-FindWindow(wxXmlResource::GetXRCID(*_str_id))); \ After modifying this part, samples work on Mac OS X, too. -- shelarcy shelarcyhotmail.co.jp http://page.freett.com/shelarcy/ - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ wxhaskell-devel mailing list wxhaskell-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-devel
Re: [wxhaskell-devel] Darcs patch: support for XRC based resources in wxHaskell
Hi Shelarcy, I'll try it on my Mac when I get home - could prove to be a pre-processor difference between Visual Studio and GCC. In the two cases given, I'd expect the BUILD_XRCGETCTRL_FN macro to expand as follows: Where _typ is Sizer EWXWEXPORT(wxSizer*, wxXmlResource_GetSizer)(wxWindow* _win, wxString* _str_id) { return reinterpret_castwxSizer*(_win-FindWindow(wxXmlResource::GetXRCID(*_str_id)); } Where _typ is BoxSizer EWXWEXPORT(wxBoxSizer*, wxXmlResource_GetBoxSizer)(wxWindow* _win, wxString* _str_id) { return reinterpret_castwxBoxSizer*(_win-FindWindow(wxXmlResource::GetXRCID(*_str_id)); } One thing to try: does adding a space after the paste tokens and before the '*' tokens help? (i.e. #define BUILD_XRCGETCTRL_FN(_typ) \ EWXWEXPORT(wx##_typ## *, wxXmlResource_Get##_typ)(wxWindow* _win, wxString* _str_id)\ { \ return reinterpret_castwx##_typ## *(_win-FindWindow(wxXmlResource::GetXRCID(*_str_id))); \ } Alternatively, it's pretty easy to replace the auto-generated functions with the manually created versions. If you find that the extra space suggestion above does not work, I'll do a patch tomorrow with each of the functions implemented in full. Regards Jeremy On Thu, 23 Oct 2008 21:59:36 +0900, shelarcy [EMAIL PROTECTED] said: Hi, On Tue, 21 Oct 2008 19:59:52 +0900, Jeremy O'Donoghue [EMAIL PROTECTED] wrote: Attached is a set of patches to enable XRC support in wxHaskell Darcs head, along with a couple of samples (in the samples/test/XRCControls directory) showing how to use the new functionality. They have only really been tested on Windows, so it would help if people can look for bugs on other platforms. I got error when building wxc with xrc.patch on Mac OS X platform. g++ -c wxc/src/eljrc.cpp -o dist/wxc/eljrc.o -MD -DwxcREFUSE_MEDIACTRL -I/usr/lib/wx/include/mac-unicode-debug-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXDEBUG__ -D__WXMAC__ -DwxUSE_STC=1 -DwxUSE_SVG=1 -fPIC -Iwxc/include wxc/src/eljrc.cpp:437:1: error: pasting wxSizer and * does not give a valid preprocessing token wxc/src/eljrc.cpp:437:1: error: pasting wxSizer and * does not give a valid preprocessing token wxc/src/eljrc.cpp:438:1: error: pasting wxBoxSizer and * does not give a valid preprocessing token (snip) make: *** [dist/wxc/eljrc.o] Error 1 Build Failed. It seems that BUILD_XRCGETCTRL_FN macro causes problem. Does anyone knows how to solve this problem? My Mac's gcc version is 4.0.1. shelarcy$ gcc -v Using built-in specs. Target: i686-apple-darwin9 Configured with: /var/tmp/gcc/gcc-5484~1/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin9 --with-arch=apple --with-tune=generic --host=i686-apple-darwin9 --target=i686-apple-darwin9 Thread model: posix gcc version 4.0.1 (Apple Inc. build 5484) Best Regards, -- shelarcy shelarcyhotmail.co.jp http://page.freett.com/shelarcy/ -- Jeremy O'Donoghue [EMAIL PROTECTED] - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ wxhaskell-devel mailing list wxhaskell-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-devel