[
https://issues.apache.org/jira/browse/THRIFT-2286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13847517#comment-13847517
]
Ben Craig commented on THRIFT-2286:
-----------------------------------
I believe the _wassert issue has been fixed in master. A system header was
being included inside the thrift namespace.
I have not seen the call_once warning. The msdn documentation suggests that it
can be fixed just by removing "inline" from the relevant location... but I
don't see an "inline" to remove in TWinsockSingleton.
> Failed to compile Thrift0.9.1 with boost1.55 by VS2010 if select Debug-mt&x64
> mode.
> -----------------------------------------------------------------------------------
>
> Key: THRIFT-2286
> URL: https://issues.apache.org/jira/browse/THRIFT-2286
> Project: Thrift
> Issue Type: Bug
> Components: Build Process
> Affects Versions: 0.9.1
> Environment: windows
> Reporter: dds810818
> Priority: Critical
> Fix For: 0.9.1
>
>
> Thrift version: 0.9.1
> Boost version: 1.55
> OS: win7 x64
> Built Release-mt&x64 successfully.
> But failed to compile Thrift0.9.1 with boost1.55 by VS2010 if select
> Debug-mt&x64 mode.
> The detail error is as below:
> f:\work\thrift-352a50e\lib\cpp\src\thrift\windows\TWinsockSingleton.h(51):
> warning C4396: 'boost::call_once' : the inline specifier cannot be used when
> a friend declaration refers to a specialization of a function template
> 1>D:\build\libs\cpp\3rd_party\boost-1_55\include\boost/smart_ptr/shared_ptr.hpp(653):
> error C2668: '_wassert' : ambiguous call to overloaded function
> 1> C:\Program Files (x86)\Microsoft Visual Studio
> 10.0\VC\include\assert.h(28): could be 'void _wassert(const wchar_t *,const
> wchar_t *,unsigned int)'
> 1> C:\Program Files (x86)\Microsoft Visual Studio
> 10.0\VC\include\assert.h(28): or 'void
> apache::thrift::protocol::_wassert(const wchar_t *,const wchar_t *,unsigned
> int)'
> 1> while trying to match the argument list '(const wchar_t [8],
> const wchar_t [78], int)'
> 1>
> D:\build\libs\cpp\3rd_party\boost-1_55\include\boost/smart_ptr/shared_ptr.hpp(652)
> : while compiling class template member function
> 'apache::thrift::transport::TTransport *boost::shared_ptr<T>::operator
> ->(void) const'
> 1> with
> 1> [
> 1> T=apache::thrift::transport::TTransport
> 1> ]
> 1>
> F:\work\thrift-352a50e\lib\cpp\src\thrift/transport/TTransport.h(262) : see
> reference to class template instantiation 'boost::shared_ptr<T>' being
> compiled
> 1> with
> 1> [
> 1> T=apache::thrift::transport::TTransport
> 1> ]
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)