From: Ulrich S. <u.s...@gm...> - 2014-11-29 14:22:12
|
Hi all. I compiled wxlua (trunk) using MinGW-64 gcc 4.8.1 on Win7 to get some 32bit Windows exes/dlls. I compiled against wxwidgets 2.8.12 and 2.9.5 I figured out some nessesary changes: (2.8.12 works. 2.9.5 not finished yet) 1. alredy discussed in this mailing list: modules/wxbind/src/wxcore_bind.cpp The 2 "#if defined(__MINGW32__) || defined(__GNUWIN32__)" at line 66 and 7553 create a error and i removed the entire if-endif-blocks. It seems newer gcc compilers dont need this hack anymore. 2. modules/wxbind/src/wxbase_bind.cpp 2 constants not declared (in 2.9.5) -> inserted 3 #if defined()'s below line 387 --8X-------------------------------------------------------------------------- #if wxUSE_FSWATCHER && wxCHECK_VERSION(2,9,4) { "wxFSW_EVENT_WARNING", wxFSW_EVENT_WARNING }, #if defined(wxFSW_WARNING_GENERAL) { "wxFSW_WARNING_GENERAL", wxFSW_WARNING_GENERAL }, #endif #if defined(wxFSW_WARNING_NONE) { "wxFSW_WARNING_NONE", wxFSW_WARNING_NONE }, #endif #if defined(wxFSW_WARNING_OVERFLOW) { "wxFSW_WARNING_OVERFLOW", wxFSW_WARNING_OVERFLOW }, #endif #endif // wxUSE_FSWATCHER && wxCHECK_VERSION(2,9,4) --8X-------------------------------------------------------------------------- 3. I linked a existing lua51.dll (luajit) and used the luajit header files to include. modules/wxlua/lbitlib.c: need a definition for LUAI_INT32, so i inserted at line 44: --8X-------------------------------------------------------------------------- #if !defined(LUAI_INT32) #define LUAI_INT32 int #endif --8X-------------------------------------------------------------------------- (probably not bullet proof but at least it worked.) 4. Suggestion: I compiled MinSizeRel. I need to strip manually. May be you can strip dll and exe files automatically for Release- and MinSizeRel-builds? TIA. Ulrich. |
From: John L. <jla...@gm...> - 2014-12-05 20:47:02
|
On Sat, Nov 29, 2014 at 9:22 AM, Ulrich Schmidt <u.s...@gm...> wrote: > Hi all. > > I compiled wxlua (trunk) using MinGW-64 gcc 4.8.1 on Win7 to get some > 32bit Windows exes/dlls. > I compiled against wxwidgets 2.8.12 and 2.9.5 > I figured out some nessesary changes: (2.8.12 works. 2.9.5 not finished > yet) > > Why are you not using a 3.x wxWidgets version? It should be better and wxLua compiles against it. > 1. alredy discussed in this mailing list: > modules/wxbind/src/wxcore_bind.cpp > The 2 "#if defined(__MINGW32__) || defined(__GNUWIN32__)" at line > 66 and 7553 > create a error and i removed the entire if-endif-blocks. It seems > newer gcc compilers > dont need this hack anymore. > > Thanks for the reminder. What mingw are you using? It looks like things have changed since I last installed it. One of these? http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/ > 2. modules/wxbind/src/wxbase_bind.cpp > 2 constants not declared (in 2.9.5) -> inserted 3 #if defined()'s > below line 387 > > --8X-------------------------------------------------------------------------- > #if wxUSE_FSWATCHER && wxCHECK_VERSION(2,9,4) > { "wxFSW_EVENT_WARNING", wxFSW_EVENT_WARNING }, > #if defined(wxFSW_WARNING_GENERAL) > { "wxFSW_WARNING_GENERAL", wxFSW_WARNING_GENERAL }, > #endif > #if defined(wxFSW_WARNING_NONE) > { "wxFSW_WARNING_NONE", wxFSW_WARNING_NONE }, > #endif > #if defined(wxFSW_WARNING_OVERFLOW) > { "wxFSW_WARNING_OVERFLOW", wxFSW_WARNING_OVERFLOW }, > #endif > #endif // wxUSE_FSWATCHER && wxCHECK_VERSION(2,9,4) > > --8X-------------------------------------------------------------------------- > > 3. I linked a existing lua51.dll (luajit) and used the luajit header > files to include. > modules/wxlua/lbitlib.c: need a definition for LUAI_INT32, so i > inserted at line 44: > > --8X-------------------------------------------------------------------------- > #if !defined(LUAI_INT32) > #define LUAI_INT32 int > #endif > > --8X-------------------------------------------------------------------------- > (probably not bullet proof but at least it worked.) > > Humm, this should be fixed in SVN, but maybe I forgot to commit it. > 4. Suggestion: I compiled MinSizeRel. I need to strip manually. > May be you can strip dll and exe files automatically for Release- > and MinSizeRel-builds? > > I'll probably leave this as an exercise for the user since there may be some value in the non-stripped binaries. Thanks for the feedback, I hope to get to these next week. John |
From: Ulrich S. <u.s...@gm...> - 2014-12-06 07:20:43
|
> Why are you not using a 3.x wxWidgets version? It should be better and > wxLua compiles against it. I wasnt shure wxlua compiles with wxwidgets 3.x. Now i will try 3.x, thanks. > > Thanks for the reminder. What mingw are you using? It looks like > things have changed since I last installed it. > > One of these? > http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/ I use MinGW-64 (http://sourceforge.net/projects/mingw-w64/) gcc4.8.1 |
From: John L. <jla...@gm...> - 2014-12-12 04:23:10
|
On Thu, Dec 11, 2014 at 10:09 AM, Ulrich Schmidt <u.s...@gm...> wrote: > I compiled sucessfully wx.dll using wxWidgets 3.0 (mingw64/gcc4.8.1). > So far so good. > Now i want to compile the wx-lua-module as a static lib. Is this > possible using cmake? I got a libwx.dll.a but this points to wx.dll and > thats not what i want. > > It is not possible, Lua needs a shared library for require() to load. However, you can use wxLua.exe or wxLuaFreeze.exe to have a single executable that does the same thing as calling 'require("wx")' without the extra wx.dll lib since it's embedded in the exe. Regards, John Am 06.12.2014 um 08:20 schrieb Ulrich Schmidt: > >> Why are you not using a 3.x wxWidgets version? It should be better and > >> wxLua compiles against it. > > I wasnt shure wxlua compiles with wxwidgets 3.x. > > Now i will try 3.x, thanks. > >> Thanks for the reminder. What mingw are you using? It looks like > >> things have changed since I last installed it. > >> > >> One of these? > >> > http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/ > > I use MinGW-64 (http://sourceforge.net/projects/mingw-w64/) gcc4.8.1 > > > > > ------------------------------------------------------------------------------ > > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > > with Interactivity, Sharing, Native Excel Exports, App Integration & more > > Get technology previously reserved for billion-dollar corporations, FREE > > > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > > _______________________________________________ > > wxlua-users mailing list > > wxl...@li... > > https://lists.sourceforge.net/lists/listinfo/wxlua-users > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > _______________________________________________ > wxlua-users mailing list > wxl...@li... > https://lists.sourceforge.net/lists/listinfo/wxlua-users > |
From: Ulrich S. <u.s...@gm...> - 2014-12-12 06:56:39
|
Am 12.12.2014 um 05:23 schrieb John Labenski: > On Thu, Dec 11, 2014 at 10:09 AM, Ulrich Schmidt <u.s...@gm... > <mailto:u.s...@gm...>> wrote: > > I compiled sucessfully wx.dll using wxWidgets 3.0 (mingw64/gcc4.8.1). > So far so good. > Now i want to compile the wx-lua-module as a static lib. Is this > possible using cmake? I got a libwx.dll.a but this points to > wx.dll and > thats not what i want. > > > It is not possible, Lua needs a shared library for require() to load. > However, you can use wxLua.exe or wxLuaFreeze.exe to have a single > executable that does the same thing as calling 'require("wx")' without > the extra wx.dll lib since it's embedded in the exe. > > Regards, > John > Sorry John, thats not correct. It is possible (and i do it this way with other lua libs + lua runtime) to compile a static lib. The only exported function needs to be luaopen_<modname>. So it would be great if i could build a single wx.a exporting luapoen_wx. I tried to write my own makefile but until now it was too time consuming to figure out the dependecies. So if you could tell me the dependencies needed for wx.dll, i probably could write the needed makefile by myself. TIA. Ulrich. |
From: Ulrich S. <u.s...@gm...> - 2014-12-11 15:09:23
|
I compiled sucessfully wx.dll using wxWidgets 3.0 (mingw64/gcc4.8.1). So far so good. Now i want to compile the wx-lua-module as a static lib. Is this possible using cmake? I got a libwx.dll.a but this points to wx.dll and thats not what i want. TIA. Ulrich. Am 06.12.2014 um 08:20 schrieb Ulrich Schmidt: >> Why are you not using a 3.x wxWidgets version? It should be better and >> wxLua compiles against it. > I wasnt shure wxlua compiles with wxwidgets 3.x. > Now i will try 3.x, thanks. >> Thanks for the reminder. What mingw are you using? It looks like >> things have changed since I last installed it. >> >> One of these? >> http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/ > I use MinGW-64 (http://sourceforge.net/projects/mingw-w64/) gcc4.8.1 > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > _______________________________________________ > wxlua-users mailing list > wxl...@li... > https://lists.sourceforge.net/lists/listinfo/wxlua-users |