2012-08-22 27 views
1

我想有使用boost::python蟒蛇C++库接口,我的C++代码是使用ACE,现在当我包括下面的代码的boost ::蟒蛇与ACE,C++暧昧的符号

#ifdef BUILD_PYTHON_EXT 
    #include <boost/python.hpp> 
    using namespace boost::python; 
#endif 

它给下面我错误

1>E:\thirdparty\ace.6.1.0_versioned_vc10\ace/ACE.h(150): error C2872: 'ssize_t' : ambiguous symbol 
1>   could be 'E:\thirdparty\ace.6.1.0_versioned_vc10\ace/os_include/sys/os_types.h(126) : int ssize_t' 
1>   or  'E:\thirdparty\boost_1_51_0\boost/python/ssize_t.hpp(15) : boost::python::ssize_t' 

我如何解决这个错误

回答

1

在这种情况下,你不应该使用指令中使用。使用namespace python = boost::python或别的东西。或者,您应该在using namespace boost::python;之前包含ACE标头,或者包含ACE标头的东西,但首先是可取的。