On Friday, June 14, 2013 12:49:31 AM UTC-7, Tim Crews wrote:
>
> Hello:
>
> Since there are currently not any native Windows binaries publicly 
> available for Ledger 3.0, and it seems that an official release is 
> impending, I decided to make a stab at creating a Windows binary for the 
> world to share.  Up to now, I've been using a Cygwin build, but that's 
> going to be pretty inconvenient for most Windows users.
>
>
> I am glad to report that another day of work got the job done.  *I am now 
running a native 32-bit Windows build of ledger 3.0, built with Microsoft 
Visual C++ 11 (2012).*

I've run the MathTests and UtilTests executables, and they report no errors 
detected.  But they ran suspiciously quickly (i.e. instantly, with 53 test 
cases and 1 test case, respectively).

But ledger passes the "it works for me" test.  I'm able to invoke ledger 
and run all of my weekly reports and my custom external utilities.  My 
native Windows Emacs ledger-new mode is able to invoke ledger successfully 
and it gives me the results that I expect.

I statically linked ledger to the GMP (actually MPIR) and MPFR libraries, 
but dynamically linked to the Boost libraries (it's a long story).  So to 
run it, you need the executable plus three Boost dlls.  I would be glad to 
upload these files to someplace public if there's a standard location for 
ledger binaries.  I confess that I don't know what the licensing issues are 
for redistributing this linked with these libraries.

To get ledger to build under Windows, I had to make a total of three minor 
changes:

   - In account.h, the calls to bind had to be changed to boost::bind
   - In history.cc, the calls to tie had to be changed to boost::tuples::tie
   - I had to add an implementation for strptime, which is called from 
   times.cc (thanks to Max Erickson for the pointer to the google strptime 
   code.)

I also couldn't get it to build against Boost 1.46.1 (lots of 
incompatibilities in boost::filesystem), so I used the latest Boost 1.53.0 
instead.  

Tim Crews

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"Ledger" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to