Newest wxMax

BlitzMax Forums/Brucey's Modules/Newest wxMax

PhotonTom(Posted 2015) [#1]
Trying to use wxMax from github repository. It compiles fine barring a single sub-module (which i deleted), which I think was called rar stream or something like that.
My problem is when I try to link it:

Building PhotonManager
OverallVersion: 12
FileVersion: 356
Compiling:PhotonManager.bmx
flat assembler  version 1.69.14  (1386183 kilobytes memory)
4 passes, 0.2 seconds, 661990 bytes.
Linking:PhotonManager.mt.exe
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0x9a23): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0x9f68): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xb87c): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xbf89): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xe3b1): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xf2b8): more undefined references to `_time32' follow
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_utilscmn.o):utilscmn.cpp:(.text+0x1d0): undefined reference to `_ctime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_time.o):time.cpp:(.text+0x10): undefined reference to `_localtime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_time.o):time.cpp:(.text+0x71): undefined reference to `_gmtime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_time.o):time.cpp:(.text+0x7d): undefined reference to `_gmtime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_time.o):time.cpp:(.text+0xeb): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_time.o):time.cpp:(.text+0x24a): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_time.o):time.cpp:(.text+0x25b): undefined reference to `_mktime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_time.o):time.cpp:(.text+0x518): undefined reference to `_difftime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_time.o):time.cpp:(.text+0x97f): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_module.o):module.cpp:(.text+0x606): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_module.o):module.cpp:(.text+0x328d): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_module.o):module.cpp:(.text+0x3d9c): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_module.o):module.cpp:(.text+0x4503): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_module.o):module.cpp:(.text+0x50aa): more undefined references to `_time32' follow
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_datetime.o):datetime.cpp:(.text+0xec8): undefined reference to `_mktime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_datetime.o):datetime.cpp:(.text+0x14f2): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_datetime.o):datetime.cpp:(.text+0x18a2): undefined reference to `_mktime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_datetime.o):datetime.cpp:(.text+0x1901): undefined reference to `_mktime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_datetime.o):datetime.cpp:(.text+0x1a97): undefined reference to `_mktime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_datetime.o):datetime.cpp:(.text+0x2e1e): undefined reference to `_mktime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_filename.o):filename.cpp:(.text+0x8c72): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_filename.o):filename.cpp:(.text+0x9209): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_filename.o):filename.cpp:(.text+0x961c): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_filename.o):filename.cpp:(.text+0x9db8): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_filename.o):filename.cpp:(.text+0xba09): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_filename.o):filename.cpp:(.text+0xbe11): more undefined references to `_time32' follow
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_wxcrt.o):wxcrt.cpp:(.text+0x4cd): undefined reference to `_imp___vswprintf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_wxcrt.o):wxcrt.cpp:(.text+0x66b): undefined reference to `_imp___vswprintf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_wxcrt.o):wxcrt.cpp:(.text+0xdfd): undefined reference to `__ms_vsscanf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_wxcrt.o):wxcrt.cpp:(.text+0xff5): undefined reference to `__ms_vsscanf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_wxcrt.o):wxcrt.cpp:(.text+0x1f8f): undefined reference to `__ms_vswscanf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_wxcrt.o):wxcrt.cpp:(.text+0xa11): undefined reference to `__ms_vsscanf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_wxcrt.o):wxcrt.cpp:(.text+0xa21): undefined reference to `__ms_vswscanf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_wxcrt.o):wxcrt.cpp:(.text+0xa3d): undefined reference to `__ms_vsscanf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_wxcrt.o):wxcrt.cpp:(.text+0xa5d): undefined reference to `__ms_vswscanf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_wxcrt.o):wxcrt.cpp:(.text+0xa7b): undefined reference to `__ms_vswscanf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_mimecmn.o):mimecmn.cpp:(.text+0x3754): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_mimecmn.o):mimecmn.cpp:(.text+0x4338): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_volume.o):volume.cpp:(.text+0xa69): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_volume.o):volume.cpp:(.text+0x194b): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_volume.o):volume.cpp:(.text+0x3548): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxbase30u.a(baselib_dir.o):dir.cpp:(.text+0x660): more undefined references to `_time32' follow
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxpng.a(wxpng_pngwrite.o):pngwrite.c:(.text+0xf40): undefined reference to `_gmtime32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxexpat.a(wxexpat_xmlparse.o):xmlparse.c:(.text+0x72db): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxtiff.a(wxtiff_tif_win32.o):tif_win32.c:(.text+0x3aa): undefined reference to `__ms_vsnprintf'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxtiff.a(wxtiff_tif_win32.o):tif_win32.c:(.text+0x48a): undefined reference to `__ms_vsnprintf'
Build Error: Failed to link Z:/gameManager/GameManagerV4/PhotonManager.mt.exe


Any ideas? Is it because I'm using TDM-GCC 4.7.1?


PhotonTom(Posted 2015) [#2]
-


xlsior(Posted 2015) [#3]
Any ideas? Is it because I'm using TDM-GCC 4.7.1?


Most likely.

There was a thread about this a few weeks ago, with Brucey asking for input on what version of MinGW to target his modules around -- specifically after the error you're seeing above. But I don't believe he actually publicly stated on what direction he would take.


Ole JR(Posted 2015) [#4]
The libs was built with gcc 4.8.1, atleast that's the last thing I've seen Brucey say.

But me think somethings been broken somewhere between release & now.
Because I had it working both on Blitzax & BM NG, now it fail to build even the smallest example, ie hello_world.bmx (in samples)..
/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0x9a23): undefined reference to `_time32'
/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0x9f68): undefined reference to `_time32'
/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xb87c): undefined reference to `_time32'
/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xbf89): undefined reference to `_time32'
/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xe3b1): undefined reference to `_time32'
/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw30u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xf2b8): more undefined references to `_time32' follow

This is from (almost) vanilla BlitzMax btw.
Updated with Brucey's brl.mod & pub.mod, and latest bmk v3.

On BlitzMax NG there's a whole different error, that I've posted as an issue on github.

Ole JR


Brucey(Posted 2015) [#5]
Apologies for the recent mess... as far as getting it to work on Windows goes.

I've spent the weekend updating everything, building and testing across various platforms.

I decided, since I had been testing it because of a Grisu post elsewhere, to build the Windows libs with the latest TDM MinGW. This is GCC 5.1 :-)
So, the static libraries provided are probably only compatible with this, or a later minor version of that. (you can always rebuild the static libraries yourself with a different version of MinGW, and apply them to the wx.mod/lib folder accordingly, but it is a bit fiddly configuring everything - see build notes in wx.mod/wx.mod)

Anyhoo, I've tested the Windows build with normal bcc for now. I went through the tutorials/prog/examples and they were compiling and running okay for me (on Windows 7 Pro).

I've also tested 32/64 on OS X, and 64-bit on Linux (I still need to update the libs for 32-bit Linux, but haven't had time to set up my 32-bit Linux VM for that yet. It takes a wee while to build and test multiple platforms!)

I realise that a bump up to GCC 5.1.x may cause issues with other modules, but I hope to resolve those in time too. I do appear to enjoy making work for myself...


xlsior(Posted 2015) [#6]
Brucey: I'm getting an error compiling using MinGWE 5.1.0.2:


c:/code/BlitzMaxNG510/mod/wx.mod/lib/win32x64/wx_rc.o: No such file or directory



Have the latest github sync of wx.mod, and looking at github in a browser I'm not seeing that file in the repository either...


Brucey(Posted 2015) [#7]
Does the 32-bit build work? The rc file is there.

If I can remember where it came from (I may have had to generate it), I'll add it to the 64-bit dir too.


Grisu(Posted 2015) [#8]
I'm sorry if I caused extra workload for you... :/


Brucey(Posted 2015) [#9]
No worries. I had to work on it anyway, so I was as well to do everything on the latest version ;-)

I've build the wx_rc.o file for 64-bit now, so hopefully everything should work now... (at least until someone tries it!)


xlsior(Posted 2015) [#10]
Appears to compile & function at a first glance!


Henri(Posted 2015) [#11]
Hi,

I'm having little trouble with wxMax and any help would be appreciated :-).

I have installed newest TDM 32bit 5.1.0-3 inside Blitzmax\MinGW32 and newest bmk NG in order to speed things up.
After trying to compile for the first time I get error with wx.rarinputstream.mod complaining about uint_p which goes away when I added #include <stdint.h> in wxrarinputstream.mod\src\unrar\crc.hpp file.

Ok, now everything has compiled, but when trying to run any wx sample I get:
Building chklst
[ 99%] Processing:chklst.bmx
[ 99%] Compiling:chklst.bmx.gui.debug.win32.x86.s
flat assembler version 1.69.14 (1048575 kilobytes memory)
4 passes, 63949 bytes.
[100%] Linking:chklst.debug.exe
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw31u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0x74b1): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw31u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0x87f7): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw31u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0x93d0): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw31u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xcbfd): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw31u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xd450): undefined reference to `_time32'
C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw31u_xrc.a(xrclib_xmlres.o):xmlres.cpp:(.text+0xdddb): more undefined references to `_time32' follow
C:/BlitzMax/MinGW32/bin/ld.exe: C:/BlitzMax/mod/wx.mod/wx.mod/../lib/win32/libwxmsw31u_xrc.a(xrclib_xmlres.o): bad reloc address 0x1 in section `.text$_ZN39wxHashSetInt_wxImplementation_HashTable10DeleteNodeEP21_wxHashTable_NodeBase[__ZN39wxHashSetInt_wxImplementation_HashTable10DeleteNodeEP21_wxHashTable_NodeBase]'
Build Error: Failed to link C:/BlitzMax/mod/wx.mod/samples/chklst.debug.exe
Process complete
As if the .a library file would have been compiled with slightly different version ? 32 vs.64 ? All the default bmx samples work.
What wxWidget source are you using ? Latest stable seems to be 3.0.2


-Henri


Brucey(Posted 2015) [#12]
Hallo :-)

That's very interesting.
After a bit of research, it may well be something to do with the fact I built the static libraries with TDM 64.

This is MSDN's page on the time/time32/time64 function : https://msdn.microsoft.com/en-us/library/1f4c8f33.aspx

The *easiest* fix may be to use TDM 64 - which is more than capable of building 32-bit apps.

What wxWidget source are you using ?

It was cut of the latest git source at the time - since there have been *many* bug fixes since 3.0.2.


Henri(Posted 2015) [#13]
OK, second pass with a TDM 64bit 5.1.0-2 this time...

Upon compiling for the first time I got an error in Maxgui.mod complaining about "differing definition MIDL_user_allocate(size_t)" .
I got rid of it after correcting the "size_t" part to "SIZE_T" in maxgui.mod\win32maxguiex.mod\mshtmhst.h file.

So, now everything has compiled and I can confirm that it works :-)

Thanks for your help,

-Henri


Dabhand(Posted 2015) [#14]
@Brucey... Regarding my email lastnight... Guess what... IT WORKED!!! \o/

Yummmmmyyyyyyyyyyyyyy

:)

Dabz