However the install part still have some problems:
- signals2 headers where not installed (but are present in the repo working dir);
- uuid headers where not installed (but are present in the repo working dir);
- program_option.hpp root header was not installed (but is present in the repo working dir),
but note that it still appear in the log and seem to compile with no error,
the libs are generated in the right place, only the root header is missing in the install directory, not the headers in the program_option header directory;
I installed manually these libraries (copy-paste) at this point, then:
- function_output_iterator.hpp (in the root include dir) is missing too but is present in the repo working dir (maybe other iterator library headers are missing, I'm not sure).
By the way: the full error report is
4>e:\sdk\boost\boost\include\boost-1_56\boost\signals2\detail\null_output_iterator.hpp(14): fatal error C1083: Cannot open include file: 'boost/function_output_iterator.hpp': No such file or directory
Which suggest that either I have an unusual setup (but I don't think so?) OR there are no tests for this signals2 code. OR boost build is failing only for me.
I re-installed iterator library manually at this point.
Then I hit the same link error I reported previously, from optional code apparently:
3>typevaluemap.obj : error LNK2019: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl boost::operator<<<char,struct std::char_traits<char>,int>(class std::basic_ostream<char,struct std::char_traits<char> > &,class boost::optional<int> const &)" (??$?6DU?$char_traits@D@std@@H@boost@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV12@ABV?$optional@H@0@@Z) referenced in function "void __cdecl testing_internal::DefaultPrintNonContainerTo<class boost::optional<int> >(class boost::optional<int> const &,class std::basic_ostream<char,struct std::char_traits<char> > *)" (??$DefaultPrintNonContainerTo@V?$optional@H@boost@@@testing_internal@@YAXABV?$optional@H@boost@@PAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@Z)
I investigated further and found that this error only occur in when this function have been compiled:
template< class ValueType >
inline boost::optional<ValueType> TypeValueMap::read() const
{
auto* slot = m_slot_index.find<ValueType>();
if( slot && slot->value )
{
return slot->value.get();
}
return {};
}
With slot's type looking like this:
template< class ValueType >
struct SlotOf : public Slot
{
boost::optional<ValueType> value;
//...
Maybe I did something wrong here?
However, the link error report suggest that some boost optional's testing function is called when it shouldn't (this appear when I'm compiling my own project).
Note that I detected these errors by trying to compile my own project: there might be others.
Joël Lamotte