1

我正在尝试为 python 使用 C++ 库的接口boost::python,我的 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'

我该如何解决这个错误

4

1 回答 1

1

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

于 2012-08-22T09:36:45.573 回答