
Thanks for the message. But I still believe at least some of these should
be fixable. For example, the first one:
<---- error message begin ---->
msvc.compile.c++ bin\msvc\debug\threading-multi\allocate_resources.obj
allocate_resources.cpp
C:\boost_1_33_1\boost\filesystem\operations.hpp(56) : error C2955:
'boost::equivalent' : use of class template requires template argument
list
C:\boost_1_33_1\boost\operators.hpp(820) : see declaration of
'boost::equivalent'
call "C:\Program Files\Microsoft Visual Studio
.NET\Vc7\bin\vcvars32.bat" > nul
cl /Zm800 -nologo -TP /Z7 /Od /Ob0 /GR /MDd /wd4675 /EHs /Zc:forScope
/Zc:wchar_t @"bin\msvc\debug\threading-multi\allocate_resources.obj.rsp"
-c -Fo"bin\msvc\debug\threading-multi\allocate_resources.obj" && del /f
"bin\msvc\debug\threading-multi\allocate_resources.obj.rsp"
<---- error message end ---->
If I look at
C:\boost_1_33_1\boost\filesystem\operations.hpp, line 56,
it defines
BOOST_OPERATOR_TEMPLATE(equivalent)
But in
C:\boost_1_33_1\boost\operators.hpp, line 820
BOOST_FILESYSTEM_DECL bool equivalent( const path & ph1, const path & ph2
);
So there are 2 equivalent, one defined in boost::filesystem, and one in
global as a macro.
The allocate_resources.cpp does invoke any 'equivalent', it is just simple
header conflict, either in libtorrent's declaration, or within boost.
If I comments out line 56 in boost/operators.hpp for the
"BOOST_OPERATOR_TEMPLATE(equivalent)", then all the related error
disappear.
The question is if it is the right thing to do. Well, I am really new to
boost and libtorrent, and really have no feeling about this at all.
With regard to the boost:bind problem, I am not sure what happened. BTW,
anyone
knows the equalivalent form for the following nested bind:
struct peer
{
enum connection_type { not_connectable,connectable };
peer(const address& ip, connection_type t);
...
peer_connection* connection;
};
std::vector<peer> m_peers;
peer_connection& c;
assert(std::find_if(m_peers.begin(), m_peers.end()
, boost::bind(std::equal_to
Is there any successful story that you can share with me with regards to VC 7.0 compilation? Any pointers are welcome. The errors I have seem so far at enclosed at the end. The libtorrent only depends on boost:filesystem, boost:date_time and boost::thread.
Looking at the error messages it appears that libtorrent depends on lambda, operators, bind and possibly other Boost libraries as well. At least one of those (lambda) is *very unlikely* to work with VC 7.0. So my guess is that libtorrent needs VC 7.1 or later, but that's really a question for it's authors.
HTH John.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users