Re: Bug: Cannot open include
Michael Powell <[email protected]>
| Newsgroups | gmane.comp.parsers.spirit.general |
|---|---|
| Message-ID | <CAMEoF_EO2sUvB5_FBZzqReLYC7pUpmX7prDd4S79XZrzeRFgNQ@mail.gmail.com> |
It's starting to look like more of a B2 issue at this point getting
started with Spirit/X3. I am also receiving a crap ton of linker
errors looking for "ucrtd.lib".
There is an undocumented B2 include option:
include="${B2_INCLUDE_PATH}"
Where B2_INCLUDE_PATH is my CMake variable identifying my Windows Platform SDK.
What I need to know is the corresponding library option.
And working from there; i.e. for any compiler definitions I may need or want.
Cheers,
Michael Powell
On Thu, Nov 23, 2017 at 11:53 AM, Michael Powell <[email protected]> wrote:
> On Thu, Nov 23, 2017 at 11:42 AM, Michael Powell <[email protected]> wrote:
>> On Thu, Nov 23, 2017 at 11:39 AM, Michael Powell <[email protected]> wrote:
>>> Hello,
>>>
>>> Straight out of the gate, getting this error trying to include:
>>>
>>> #include <boost/tti/has_type.hpp>
>>>
>>> 4>/path/to/boost/spirit/home/x3/support/traits/container_traits.hpp(16):
>>> fatal error C1083: Cannot open include file: 'boost/tti/has_type.hpp':
>>> No such file or directory
>>
>> Preliminary analysis suggests, there is no <boost/tti/...> path. There
>> is, however, a <boost/mpl/aux_/has_type.hpp>.
>
> There are at least a couple such includes:
>
> #include <boost/tti/has_type.hpp>
> #include <boost/tti/has_member_function.hpp>
>
> There is also no "has_member_function.hpp" whatsoever.
>
> I think I see what's going on and am open to suggestions. I am
> including from my installed binaries and includes.
>
> But this does not include any TTI, that I can tell, whereas the
> original source does. So perhaps something fell over during my build.
>
> For the most part, my build settings are "vanilla", taking Boost
> "as-is", unless I otherwise learn of a setting, Boost compiler
> definition, etc, that I want.
>
> I attached my build log. There were in fact some failures for lack of
> LZMA, among other things, failure to build Locale, etc. Unrelated, I
> should think, from TTI, per se.
>
>>> My rule is fairly straightforward, at least as far as I can tell:
>>>
>>> #include <boost/spirit/home/x3.hpp>
>>>
>>> // TODO: TBD: we may refine this later on...
>>> using namespace boost::spirit;
>>> using namespace boost::spirit::x3;
>>>
>>> x3::rule<class Port, std::uint16_t> const Port = "Port";
>>>
>>> auto const Port_def = digit
>>> | (char_('1', '9') >> digit[repeat(1, 3)])
>>> | (char_('1', '5') >> digit[repeat(4)])
>>> | (char_('6') >> char_('0', '4') >> digit[repeat(3)])
>>> | ("65" >> char_('0', '4') >> digit[repeat(2)])
>>> | ("655" >> char_('0', '2') >> digit)
>>> | ("6553" >> char_('0', '5'))
>>> ;
>>>
>>> BOOST_SPIRIT_DEFINE(Port);
>>>
>>> I can patch locally, possibly also submit a PR.
>>>
>>> Best,
>>>
>>> Michael Powell
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot