On Friday, June 14, 2013 11:10:25 AM UTC-7, Max Erickson wrote:
>
> Hi Tim-
>
> I never got a working build with VC, but my notes suggest that I thought
> adding the explicit boost::bind namespace was the fix for that issue (and I
> sort of remember that was the source of lots of compile issues).
>
At least in the MSVC environment, two bind functions are getting into scope
in every source file because:
- Every source file includes system.hh
- system.hh includes boost/algorithm/string.hpp
- This includes boost/algorithm/string/trim.hpp
- This includes boost/algorithm/string/classification.hpp
- This includes boost/algorithm/string/detail/classification.hpp
- This includes <functional>
- *This defines a bind function*
- system.hh includes boost/bind.hpp
- *This defines a bind function*
I bet there are other paths in the monster include tree rooted in system.hh
that also pull <functional> in somehow. This is just the first one I found.
I don't know why this wouldn't also be a problem for other toolchains like
gcc, but obviously it isn't, because I can build ledger with gcc.
I doubt that John intends for std::bind to ever be mixed with boost::bind,
but my C++ skills are out-of-date enough that I don't know how to
explicitly supress std::bind in a global way. I would prefer not to modify
every occurrence of a bind call to explicitly specify boost::bind just to
get a Win32 build working. But for now I will, since there are only 12 of
them.
>
> Also, when I was working on a mingw build, I had decided that plugging in
> some code from Google was the easiest way to provide strptime:
>
> http://bugs.ledger-cli.org/show_bug.cgi?id=829
>
> I spent a few hours this morning exploring MinGW, but between your bug
report and the obstacles I encountered getting GMP to compile, I decided to
head back to more familiar MSVC territory.
> Max
>
>
Thank you for your response,
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.