Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-05-17 00:52:58


Rene Rivera wrote:

> For CW-8.3 the program_options DLL doesn't build. The stated reason is
> because of the missing locale support in the DLL configuration. But the
> error shown doesn't match that:
>
>
http://www.meta-comm.com/engineering/boost-regression/cvs-head/developer/output/metacomm-bin-boost-libs-program_options-test-cmdline_test_dll-test-cw-8_3-debug-threading-multi.html
> http://tinyurl.com/dc7mz
>
> Which looks like a real problem. It's caused by this line in:
>
> const unsigned m_line_length;
>
> In the boost::program_options::option_description class. I don't what
> the intent is for having a const non-static member so I'm not sure how
> to fix this.

I believe the compiler is wrong. The copy assignment operator is implicitly
define only if used according to std::12.8/7. In this case, I don't know of
any use of this operator in the library -- if there were, then a lot of
other compilers would complain too. I'm very surprised that the error is
present only in DLL build.

The point of using "const" is that the member is set in constructor and is
not modified after that. Maybe you can try removing 'const' and seing if
that makes the tests pass?

Thanks!

- Volodya


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk