使用ACE,C ++模糊符号来增强:: python

时间:2012-08-22 09:26:01

标签: c++ visual-studio-2010 boost-python ace

我正在尝试使用boost::python为python创建C ++库接口,我的C ++代码正在使用ACE,现在当我包含以下代码时

#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 个答案:

答案 0 :(得分:1)

在这种情况下,您不应该使用using指令。使用namespace python = boost::python或其他内容。或者,您应该在using namespace boost::python;之前包含ACE标头或包含ACE标头的内容,但首先是首选。