www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - compiling wxD App

reply Nils Hensel <nils.hensel web.de> writes:
Hello everyone,

I would like to know if anybody here has any experience using wxD on 
Windows. I compiled wxWidgets (2.5.5, maybe theres the catch?) and then 
compiled the wxD Sources. Everything went okay except for the XRC Sample.
The strange thing is that every sample has a size of about 10 MB. At 
least some of them are working.

I copied wxc.lib and wxd.lib to c:\dmd\lib and all of the wxWidgets libs 
  to c:\dm\lib. I also copied the includes and .d files to directories 
in the include path. I thought compiling the samples from the console 
without a makefile would be easy now but everytime I try to compile a 
source (e.g. minimal.d) I get a truckload of messages like these:

...
C:\dm\bin\..\lib\wxbase25d.lib(stdpaths)
  Error 42: Symbol Undefined _SHGetSpecialFolderLocation 12
C:\dm\bin\..\lib\wxbase25d.lib(registry)
  Error 42: Symbol Undefined _RegCloseKey 4
C:\dm\bin\..\lib\wxbase25d.lib(registry)
  Error 42: Symbol Undefined _RegOpenKeyExA 20
C:\dm\bin\..\lib\wxbase25d.lib(registry)
  Error 42: Symbol Undefined _RegEnumKeyA 16
...

Could someone point me to what I'm missing here please. I like D and 
wxWidgets and using a combination of both would be fantastic but I've no 
idea what my mistake is.

What libraries do I have to link into the executable? wxd.lib and 
wxc.lib or th wx*.lib as well?

Thanks in advance,
Nils
Apr 21 2005
parent reply "Regan Heath" <regan netwin.co.nz> writes:
On Thu, 21 Apr 2005 10:37:02 +0200, Nils Hensel <nils.hensel web.de> wrote:
 Hello everyone,

 I would like to know if anybody here has any experience using wxD on  
 Windows. I compiled wxWidgets (2.5.5, maybe theres the catch?) and then  
 compiled the wxD Sources. Everything went okay except for the XRC Sample.
 The strange thing is that every sample has a size of about 10 MB. At  
 least some of them are working.

 I copied wxc.lib and wxd.lib to c:\dmd\lib and all of the wxWidgets libs  
   to c:\dm\lib. I also copied the includes and .d files to directories  
 in the include path. I thought compiling the samples from the console  
 without a makefile would be easy now but everytime I try to compile a  
 source (e.g. minimal.d) I get a truckload of messages like these:

 ...
 C:\dm\bin\..\lib\wxbase25d.lib(stdpaths)
   Error 42: Symbol Undefined _SHGetSpecialFolderLocation 12
 C:\dm\bin\..\lib\wxbase25d.lib(registry)
   Error 42: Symbol Undefined _RegCloseKey 4
 C:\dm\bin\..\lib\wxbase25d.lib(registry)
   Error 42: Symbol Undefined _RegOpenKeyExA 20
 C:\dm\bin\..\lib\wxbase25d.lib(registry)
   Error 42: Symbol Undefined _RegEnumKeyA 16
 ...

 Could someone point me to what I'm missing here please. I like D and  
 wxWidgets and using a combination of both would be fantastic but I've no  
 idea what my mistake is.

 What libraries do I have to link into the executable? wxd.lib and  
 wxc.lib or th wx*.lib as well?
The symbol "SHGetSpecialFolderLocation" is defined in SHELL32.LIB The rest are in ADVAPI32.LIB Include those on the command line to compile. Regan. p.s. If you're interested in how I know these libs contain these symbols, I used dumpbin (an exe that comes with borland c builder) to dump the exports from the lib files that come with microsoft visual studio. p.p.s Technically I should be dumping the exports from the libs in the \dm\lib directory, but as they're a different format dumpbin cannot handle them. Does anyone know an app that can?
Apr 21 2005
parent reply Nils Hensel <nils.hensel web.de> writes:
Regan Heath schrieb:
 The symbol "SHGetSpecialFolderLocation" is defined in SHELL32.LIB
 The rest are in ADVAPI32.LIB
 
 Include those on the command line to compile.
Thanks! After including these and half a dozen other libs it finally compiles.
 p.s. If you're interested in how I know these libs contain these 
 symbols,  I used dumpbin (an exe that comes with borland c builder) to 
 dump the  exports from the lib files that come with microsoft visual 
 studio.
For those of us who are not so fortunate to own such expensive software, google is your friend. By typing in the unresolved identifiers I could figure out to which lib they belong. Not very comfortable but at least possible. Thanks a lot for pointing me in the right direction. I wasn't sure if I missed something more fundamental in the process. I already started porting a wxPython App to D and it works rather well. A few minor pitfalls though, like some missing basic functionality and I have to declare all constants like wxALIGN_LEFT etc. but then again at least it's usable. Regards, Nils
Apr 21 2005
next sibling parent "TechnoZeus" <TechnoZeus PeoplePC.com> writes:
Try this metasearch engine also...

http://ixquick.com/eng/advanced_search.html

"Nils Hensel" <nils.hensel web.de> wrote in message
news:d488jl$31gi$1 digitaldaemon.com...
*snip*
 For those of us who are not so fortunate to own such expensive software,
   google is your friend. By typing in the unresolved identifiers I could
 figure out to which lib they belong. Not very comfortable but at least
 possible.
*snip
Apr 21 2005
prev sibling parent "Regan Heath" <regan netwin.co.nz> writes:
On Thu, 21 Apr 2005 15:11:06 +0200, Nils Hensel <nils.hensel web.de> wrote:
 Regan Heath schrieb:
 The symbol "SHGetSpecialFolderLocation" is defined in SHELL32.LIB
 The rest are in ADVAPI32.LIB
  Include those on the command line to compile.
Thanks! After including these and half a dozen other libs it finally compiles.
 p.s. If you're interested in how I know these libs contain these  
 symbols,  I used dumpbin (an exe that comes with borland c builder) to  
 dump the  exports from the lib files that come with microsoft visual  
 studio.
For those of us who are not so fortunate to own such expensive software, google is your friend. By typing in the unresolved identifiers I could figure out to which lib they belong. Not very comfortable but at least possible.
Are the specs for the various lib types open, they must be surely... if so, I reckon writing a program to give a list of exports from a lib (or any type) might be a fun project. Hmm...
 Thanks a lot for pointing me in the right direction. I wasn't sure if I  
 missed something more fundamental in the process.
You're welcome. Regan
Apr 21 2005