Thread overview
[ANN] wxD 0.02 released
Mar 20, 2005
bero
Mar 20, 2005
Chris Sauls
Mar 20, 2005
J C Calvarese
Mar 20, 2005
Walter
Mar 25, 2005
Valéry
Mar 28, 2005
J C Calvarese
Mar 30, 2005
J C Calvarese
March 20, 2005
wxD is wxWidgets bindings for D language.
wxWidgets is cross-platform GUI toolkit, which supports Windows, Mac OS
X, *nix like OSs such as Linux,FreeBSD with X11/Motif/GTK.

* Status

0.02
some bug fix and missing C function implement.
more example works.
fix event
change multiple consructor to single constructor with default args
fix box sizer
 return struct func() change to void func(struct*)
 in my view, D's extern (C) and C++'s extern "C" is not compatible when
return struct
most example work.
March 20, 2005
bero wrote:
>  return struct func() change to void func(struct*)

You might consider using the 'out' and 'inout' attributes rather than pointers, to fit in more with the "D Style".

-- Chris Sauls
March 20, 2005
bero wrote:
> wxD is wxWidgets bindings for D language.
> wxWidgets is cross-platform GUI toolkit, which supports Windows, Mac OS
> X, *nix like OSs such as Linux,FreeBSD with X11/Motif/GTK.

In the future, please post announcements in *only* the digitalmars.D.announce newsgroup. I think part of the reason digitalmars.D.announce was created was to decrease the traffic in digitalmars.D.

(By the way, I think it's really great that the wxD project is bringing the power of wxWidgets to D. Congratualations to everyone involved!)

-- 
Justin (a/k/a jcc7)
http://jcc_7.tripod.com/d/
March 20, 2005
"J C Calvarese" <jcc7@cox.net> wrote in message news:d1kgh1$12ab$1@digitaldaemon.com...
> In the future, please post announcements in *only* the digitalmars.D.announce newsgroup. I think part of the reason digitalmars.D.announce was created was to decrease the traffic in digitalmars.D.

It also gives a place where people who are looking for D related products to be able to find them a lot easier without sifting through hundreds of irrelevant threads.


March 25, 2005
Great ! I've been waiting for this for a while.

Building wxWidgets 2.5.3 with DMC was OK after patching makefile.dmc :
line 1249: gsocket.c => gsocket.cpp
line 1348: gsockmsw.c => gsockmsw.cpp

But I didn't manage to build WxD itself :
..
cd Controls
make
dmd -c -I..\.. -g Controls.d

dmd -g -of..\Controls.exe Controls.obj ..\..\wxd.lib ..\..\wxc.lib c:\lib\c\wx25
3\lib\dmc_lib\wxbase25d.lib  c:\lib\c\wx253\lib\dmc_lib\wxbase25d_xml.lib  c:\li
b\c\wx253\lib\dmc_lib\wxmsw25d_core.lib  c:\lib\c\wx253\lib\dmc_lib\wxmsw25d_adv
lib  c:\lib\c\wx253\lib\dmc_lib\wxmsw25d_html.lib  c:\lib\c\wx253\lib\dmc_lib\w
xmsw25d_xrc.lib  c:\lib\c\wx253\lib\dmc_lib\wxtiffd.lib  c:\lib\c\wx253\lib\dmc_
lib\wxjpegd.lib  c:\lib\c\wx253\lib\dmc_lib\wxpngd.lib  c:\lib\c\wx253\lib\dmc_l
ib\wxzlibd.lib  c:\lib\c\wx253\lib\dmc_lib\wxregexd.lib  c:\lib\c\wx253\lib\dmc_
lib\wxexpatd.lib   kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib w
inmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib adv
api32.lib wsock32.lib odbc32.lib
c:\dmd\bin\..\..\dm\bin\link.exe Controls,..\Controls.exe,,..\..\wxd.lib+..\..\w
xc.lib+c:\lib\c\wx253\lib\dmc_lib\wxbase25d.lib+c:\lib\c\wx253\lib\dmc_lib\wxbas
e25d_xml.lib+c:\lib\c\wx253\lib\dmc_lib\wxmsw25d_core.lib+c:\lib\c\wx253\lib\dmc
_lib\wxmsw25d_adv.lib+c:\lib\c\wx253\lib\dmc_lib\wxmsw25d_html.lib+c:\lib\c\wx25
3\lib\dmc_lib\wxmsw25d_xrc.lib+c:\lib\c\wx253\lib\dmc_lib\wxtiffd.lib+c:\lib\c\w
x253\lib\dmc_lib\wxjpegd.lib+c:\lib\c\wx253\lib\dmc_lib\wxpngd.lib+c:\lib\c\wx25
3\lib\dmc_lib\wxzlibd.lib+c:\lib\c\wx253\lib\dmc_lib\wxregexd.lib+c:\lib\c\wx253
\lib\dmc_lib\wxexpatd.lib+kernel32.lib+user32.lib+gdi32.lib+comdlg32.lib+winspoo
l.lib+winmm.lib+shell32.lib+comctl32.lib+ole32.lib+oleaut32.lib+uuid.lib+rpcrt4.
lib+advapi32.lib+wsock32.lib+odbc32.lib+user32+kernel32/co/noi;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

c:\lib\c\wx253\lib\dmc_lib\wxmsw25d_xrc.lib
Warning 2: File Not Found c:\lib\c\wx253\lib\dmc_lib\wxmsw25d_xrc.lib
c:\lib\c\wx253\lib\dmc_lib\wxmsw25d_core.lib(button)
Error 42: Symbol Undefined ?wxGetStockLabel@@YA?AVwxString@@H@Z (wxString cdecl
wxGetStockLabel(int ))
c:\lib\c\wx253\lib\dmc_lib\wxmsw25d_core.lib(button)
Error 42: Symbol Undefined ?wxIsStockID@@YA_NH@Z
c:\dm\bin\..\lib\shell32.lib(shguid)
Warning 160: MS Precompiled TYPES not supported
c:\dm\bin\..\lib\shell32.lib(shguid)
Warning 161: Unknown CV version, ignored
--- errorlevel 2

--- errorlevel 2

--- errorlevel 2

--- errorlevel 2

I use DMC 8.42n and DMD 0.119 on XP.

Valéry


In article <d1jgrk$5ti$1@digitaldaemon.com>, bero says...
>
>wxD is wxWidgets bindings for D language.
>wxWidgets is cross-platform GUI toolkit, which supports Windows, Mac OS
>X, *nix like OSs such as Linux,FreeBSD with X11/Motif/GTK.
>
>* Status
>
>0.02
>some bug fix and missing C function implement.
>more example works.
>fix event
>change multiple consructor to single constructor with default args
>fix box sizer
> return struct func() change to void func(struct*)
> in my view, D's extern (C) and C++'s extern "C" is not compatible when
>return struct
>most example work.


March 28, 2005
Somehow (against all odds) I managed to compile wxWidgets and the wxD examples, so I might be able to help.

Valéry wrote:
> Great ! I've been waiting for this for a while.
> 
> Building wxWidgets 2.5.3 with DMC was OK after patching makefile.dmc :
> line 1249: gsocket.c => gsocket.cpp
> line 1348: gsockmsw.c => gsockmsw.cpp

That's weird. I didn't encounter that error in the make process, so I don't know how I got around that.

> 
> But I didn't manage to build WxD itself :
> ..
> cd Controls
> make
> dmd -c -I..\.. -g Controls.d

I ran into some problems around here, too. Apparently, I needed some better .lib's than were already in \dm\lib (i.e., shell32.lib, odbc32.lib, rpcrt4.lib, uuid.lib, winspool.lib IIRC). I created them using .def files and I've posted them to
http://svn.dsource.org/svn/projects/bindings/trunk/lib/

If the linker starts complaining about these .lib's in particular, you should try out some of my files.

> 
> dmd -g -of..\Controls.exe Controls.obj ..\..\wxd.lib ..\..\wxc.lib c:\lib\c\wx25
> 3\lib\dmc_lib\wxbase25d.lib  c:\lib\c\wx253\lib\dmc_lib\wxbase25d_xml.lib  c:\li
...
> c:\lib\c\wx253\lib\dmc_lib\wxmsw25d_xrc.lib
> Warning 2: File Not Found c:\lib\c\wx253\lib\dmc_lib\wxmsw25d_xrc.lib

It looks like it's not finding wxmsw25d_xrc.lib. If it doesn't exist in c:\lib\c\wx253\lib\dmc_lib\, then you need to either put it there or somehow tell DMC where it is. I think what I did was copy all of wxwidget's .libs to \dm\lib. I probably could have also added the directory that contains them to the LIB line in sc.ini.

> c:\dm\bin\..\lib\shell32.lib(shguid)
> Warning 160: MS Precompiled TYPES not supported
> c:\dm\bin\..\lib\shell32.lib(shguid)
> Warning 161: Unknown CV version, ignored

It looks like it doesn't like your version of shell32.lib, so you might try the one I uploaded to dsource.

> I use DMC 8.42n and DMD 0.119 on XP.

I got it to work with an older version of DMC on a computer running XP, so it should work with more recent versions of DMC, too.

Hope that helps.

-- 
Justin (a/k/a jcc7)
http://jcc_7.tripod.com/d/
March 29, 2005
bero wrote:
> wxD is wxWidgets bindings for D language.
> wxWidgets is cross-platform GUI toolkit, which supports Windows, Mac OS
> X, *nix like OSs such as Linux,FreeBSD with X11/Motif/GTK.
> 
> * Status
> 
> 0.02
> some bug fix and missing C function implement.
> more example works.
> fix event
> change multiple consructor to single constructor with default args
> fix box sizer
>  return struct func() change to void func(struct*)
>  in my view, D's extern (C) and C++'s extern "C" is not compatible when
> return struct
> most example work.

Building wxD (DMD 0.119, DMC 8.41) went without any problem. However, the linker complains about this when trying to build the samples:

D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(window)
 Error 42: Symbol Undefined _DragQueryPoint@8
D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(window)
 Error 42: Symbol Undefined _DragFinish@4
D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(window)
 Error 42: Symbol Undefined _DragQueryFileA@16
D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(window)
 Error 42: Symbol Undefined _DragAcceptFiles@8
D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(gdiimage)
 Error 42: Symbol Undefined _ExtractIconA@12
D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(gdiimage)
 Error 42: Symbol Undefined _ExtractIconExA@20
D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxbase25d.lib(filename)
 Error 42: Symbol Undefined _CLSID_ShellLink
D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxbase25d.lib(filename)
 Error 42: Symbol Undefined _IID_IShellLinkA

Something weird is happening because I even re-created shell32.lib from
shell32.dll, and implib would still create _DragQueryPoint (C linkage)
instead of _DragQueryPoint@8 (Windows linkage).

Any ideas?

_______________________
Carlos Santander Bernal
March 30, 2005
Carlos Santander B. wrote:
> bero wrote:
> 
>>wxD is wxWidgets bindings for D language.
>>wxWidgets is cross-platform GUI toolkit, which supports Windows, Mac OS
>>X, *nix like OSs such as Linux,FreeBSD with X11/Motif/GTK.
>>
>>* Status
>>
>>0.02
>>some bug fix and missing C function implement.
>>more example works.
>>fix event
>>change multiple consructor to single constructor with default args
>>fix box sizer
>> return struct func() change to void func(struct*)
>> in my view, D's extern (C) and C++'s extern "C" is not compatible when
>>return struct
>>most example work.
> 
> 
> Building wxD (DMD 0.119, DMC 8.41) went without any problem. However,
> the linker complains about this when trying to build the samples:
> 
> D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(window)
>  Error 42: Symbol Undefined _DragQueryPoint@8
> D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(window)
>  Error 42: Symbol Undefined _DragFinish@4
> D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(window)
>  Error 42: Symbol Undefined _DragQueryFileA@16
> D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(window)
>  Error 42: Symbol Undefined _DragAcceptFiles@8
> D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(gdiimage)
>  Error 42: Symbol Undefined _ExtractIconA@12
> D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxmsw25d_core.lib(gdiimage)
>  Error 42: Symbol Undefined _ExtractIconExA@20
> D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxbase25d.lib(filename)
>  Error 42: Symbol Undefined _CLSID_ShellLink
> D:\carlos\dev\wxWidgets-2.5.3\lib\dmc_lib\wxbase25d.lib(filename)
>  Error 42: Symbol Undefined _IID_IShellLinkA
> 
> Something weird is happening because I even re-created shell32.lib from
> shell32.dll, and implib would still create _DragQueryPoint (C linkage)
> instead of _DragQueryPoint@8 (Windows linkage).
> 
> Any ideas?

I think I ran into a similar problem. Try using my shell32.lib (created from a .def)...


From my reply to Valéry (digitalmars.D.announce:73/digitalmars.D:20244):

I ran into some problems around here, too. Apparently, I needed some better .lib's than were already in \dm\lib (i.e., shell32.lib, odbc32.lib, rpcrt4.lib, uuid.lib, winspool.lib IIRC). I created them using .def files and I've posted them to
http://svn.dsource.org/svn/projects/bindings/trunk/lib/


-- 
jcc7
http://jcc_7.tripod.com/d/
March 30, 2005
J C Calvarese wrote:
> 
> I think I ran into a similar problem. Try using my shell32.lib (created from a .def)...
> 

That worked. Thanks!

> 
>  From my reply to Valéry (digitalmars.D.announce:73/digitalmars.D:20244):
> 
> I ran into some problems around here, too. Apparently, I needed some better .lib's than were already in \dm\lib (i.e., shell32.lib, odbc32.lib, rpcrt4.lib, uuid.lib, winspool.lib IIRC). I created them using .def files and I've posted them to
> http://svn.dsource.org/svn/projects/bindings/trunk/lib/
> 
> 

_______________________
Carlos Santander Bernal