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.

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.

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.

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.

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.

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