www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - [ANN] wxD 0.02 released

reply bero <berobero users.sourceforge.net> writes:
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.
Mar 20 2005
next sibling parent Chris Sauls <ibisbasenji gmail.com> writes:
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
Mar 20 2005
prev sibling next sibling parent reply J C Calvarese <jcc7 cox.net> writes:
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/
Mar 20 2005
parent "Walter" <newshound digitalmars.com> writes:
"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.
Mar 20 2005
prev sibling next sibling parent reply Valéry <Valéry_member pathlink.com> writes:
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.

Mar 25 2005
parent J C Calvarese <jcc7 cox.net> writes:
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/
Mar 27 2005
prev sibling parent reply "Carlos Santander B." <csantander619 gmail.com> writes:
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
Mar 29 2005
parent reply J C Calvarese <jcc7 cox.net> writes:
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/
Mar 29 2005
parent "Carlos Santander B." <csantander619 gmail.com> writes:
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
Mar 30 2005