Skip to main content.
home | support | download

Back to List Archive

Re: C Library question

From: David L Norris <dave(at)not-real.webaugur.com>
Date: Thu Mar 20 2003 - 03:37:17 GMT
On Wed, 2003-03-19 at 21:18, greg wrote:
> Thanks for the assistance, I persisted with 2.3.4 and now appear to
> have  a working VC++ development setup for.

Checkout the current CVS if you can.  Otherwise, working project files
and such will be in tomorrow morning's daily source snapshot.

There are still some warnings but I'm working on it.

> 1. In swish.h  (from memory)
> uncomment the
>     #ifdef _WIN32
>     #include "win32/config.h"
> and add
>     #endif

Better solution is to rename src/win32/config.h to src/win32/acconfig.h
then define HAVE_CONFIG_H for libswishe and swishe projects under the
Settings -> C/C++ tab -> Preprocessor Definitions.  Make sure that
src/acconfig.h doesn't exist.  Then add /I "." to the Project Options. 
That makes everything work nicely with both autoconf and MSVC.

> 4. And in xml.h change  the #include  for xmlparse.h
>    #include "xpat/xmlparse/xmlparse.h"

Are you using the expat that's in SWISH-E CVS?  MSVC doesn't work well
with it.  

Grab this and use it as a base for your build directory (13.2 MB):
    http://www.webaugur.com/wares/files/swish-e/msvcbuilddir.zip

That includes a modified SWISH-E CVS snapshot from a few nights ago. 
You may want to grab the latest CVS instead of using my SWISH-E source.
The swish-e source dir goes in the same location as swish-e-2.3.4; name
of the SWISH-E source dir itself doesn't matter.  CVS doesn't seem to
work on my Windows VM so I'm stuck grabbing the snapshots and copying
changed files.  Really messy.

To "install" for testing just find all the *.dll files and swish-e.exe. 
Dump them into a common directory (i.e. c:\swish-e\) and swish-e.exe
should execute.  In the root there's a NSIS 1.x installer script which
builds a self-installer.  (Look at src/win32/dist.sh and
src/win32/build.sh to see how the daily binaries are built.)

> I did end up with some ugly warinings about not finding strlen and open
> in mkstemp.c
> possibly forgotten to #include strings.h or something?

You need to have certian preprocessor definitions or it will fail
badly.  I've eliminated most of the ifdef _WIN32 stuff and used portable
declarations instead.  

-- 
 David Norris
  http://www.webaugur.com/dave/
  ICQ - 412039
Received on Thu Mar 20 03:38:13 2003