Boost logo

Boost :

Subject: Re: [boost] [quickbook] diagnosing a missing [endsect]?
From: Peter Dimov (lists_at_[hidden])
Date: 2017-03-18 21:47:03


> This works, quickbook gets built and copied to $BOOST_ROOT/dist/bin. But
> then
>
> C:\Projects\boost-git\boost>dist\bin\quickbook.exe
> E
> C:\Projects\boost-git\boost>dist\bin\quickbook.exe --help
> A
> C:\Projects\boost-git\boost>dist\bin\quickbook.exe --input-file
> libs\mp11\doc\mp11.qbk --output-file test.xml
> G
>
> By the look of it, a UTF-16 string is probably being output as 8 bit.

My default toolset is msvc-8.0, and it seems that std::wcout doesn't quite
work there, although the trick with _setmode(_fileno(stdout), _O_U16TEXT)
does enable wprintf et al.

So I tried 14.0. Turns out that it's too new:

actions.cpp
c:\projects\boost-git\boost\tools\quickbook\src\utils.hpp(40): error C2280:
'boost::basic_string_ref<char,std::char_traits<char>>::basic_string_ref<std::allocator<char>>(std::basic_string<char,std::char_traits<char>,std::allocator<char>>
&&)': attempting to reference a deleted function
.\boost/utility/string_ref.hpp(98): note: see declaration of
'boost::basic_string_ref<char,std::char_traits<char>>::basic_string_ref'

I then tried 12.0, same error. Still too new. 11.0 worked though, yay.

C:\Projects\boost-git\boost>dist\bin\quickbook.exe --help
Allowed options:
  --help produce help message
  --version print version string
  --no-pretty-print disable XML pretty printing
  --no-self-linked-headers stop headers linking to themselves
  --indent arg indent spaces
  --linewidth arg line width
  --input-file arg input file
  --output-file arg output file
  --output-deps arg output dependency file
  --ms-errors use Microsoft Visual Studio style error & warn
                            message format
  -I [ --include-path ] arg include path
  -D [ --define ] arg define macro
  --image-location arg image location

Here's the same error from g++ 6.3 -std=c++1z:

tools\quickbook\src\actions.cpp: In function 'void
quickbook::role_action(quickbook::state&, quickbook::value)':
tools\quickbook\src\actions.cpp:339:35: error: use of deleted function
'boost::basic_string_ref<charT,
traits>::basic_string_ref(std::basic_string<CharT, Traits, Alloc>&&) [with
Allocator = std::allocator<char>; charT = char; traits =
std::char_traits<char>]'
                 state.phrase.get());
                                   ^
In file included from tools\quickbook\src\fwd.hpp:16:0,
                 from tools\quickbook\src\quickbook.hpp:19,
                 from tools\quickbook\src\actions.cpp:24:
./boost/utility/string_ref.hpp:98:9: note: declared here
         basic_string_ref( std::basic_string<charT, traits,
Allocator>&&)
         ^~~~~~~~~~~~~~~~

This looks like the string_ref issue someone already complained about. Your
Travis probably missed it because it tests against 1.63.0 instead of
depinst.py'ing its way to freedom, democracy and the American way. (Distant
bald eagle cry.)


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