I compiled 3576ecffc00d97a48bb909e13988120f54b1d7c8 this morning (VS2013
Update 2 32 and 64 bit).
I assume that this is equivalent to the beta 2 package?
I found no error in the boost build log (using this script:
https://www.dropbox.com/s/bggoap0sex4508r/build_boost_github_VS.bat)
The full log can be found there:
https://www.dropbox.com/s/12ep1cbt6v48us0/20140716-0831-build_boost_github_V...
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 (class boost::optional<int> const &,class std::basic_ostream 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