Fail to compile Boost make_shared when -std=c++0x on

Marc Glisse marc.glisse@inria.fr
Sun Nov 28 11:49:00 GMT 2010


On Sun, 28 Nov 2010, 陳韋任 wrote:

>  I use g++45 and g++46 installed from ports on FreeBSD. Everything
> is fine when I compile the code without any option. However, when I
> turn the option "-std=c++0x" on, g++ give me the error messge below:
[...]
>  And here are gcc versions:
>
> g++46 (GCC) 4.6.0 20101023 (experimental)
> g++45 (GCC) 4.5.2 20101021 (prerelease)
>
>  Any suggestion appreciated.

Hello,

just upgrade to a newer version of boost. I can't tell when it was fixed 
exactly, but at least the current svn works fine. This is most likely due 
to the change in binding lvalues to rvalue references.

C++0X support is a moving target in both g++ and boost. The version of 
boost you are using was written for g++-4.4 (which itself was written for 
the standard draft that was current at the time).

-- 
Marc Glisse



More information about the Gcc-help mailing list