VS2012: Build failed, error in boost header file?

Good day!

I’ve been interested in this project for months, and finally decided to pull the repo and build it myself. Unfortunately, I’m stuck trying to get it to build. Specs:

Windows 7 x64 in a VirtualBox VM
Visual Studio Express 2012
Boost 1.50 (not 1.52 because I use 1.50 at work)

The compile error that I’m getting can be seen in the attached image. I know there’s not really an error in the boost header; that code has been the same for many versions, and I’ve never had such an error before. Any advice?

EDIT: I should probably mention that I’ve tried a clean build, rebuilding boost, and reinstalling Visual Studio. None have worked.

Thanks all,

Erik


Hi, welcome on our forum!

Could you post entire error message from Visual’s build output window? Boost 1.50 should work fine.

Attached to keep from blowing up the thread.

Thanks, Tow, for looking into this

Erik
boost_error.txt (18.2 KB)

Really strange that you’re the only one with this operator&& ambiguity. I’d try with putting boost::intrusive headers on top of stdinc.h files.

Is really boost::interprocess::offset_ptr<> implicitly convertible to boost::function<>?

For me the project builds fine and I’m using VS2012 with Boost 1.51. So it is likely Boost issue, 1.50 was released before VS2012 and it may not work properly with it. :frowning:

I’m using boost 1.5.0 which is the current official release for Fedora, but I have no compilation errors. Tested compilers are GCC 4.7.2 / Clang 3.1.

@Tow
What boost bug could cause that implicit conversion to be possible? Anyway, upgrading to boost 1.51 could really be the simplest option. It’s just a library, there is no problem with using two versions for different projects.

Hah, upgrading to 1.52 worked. The 2012 MSVC compiler must have changed in some odd way to expose this corner case.

Thanks all,

Erik

Good to know, I’m glad it is working. :slight_smile: I have updated the wiki page with the Boost version requirement.