【问题标题】:Boost::python with ACE , C++ ambiguous symbolBoost::python with ACE , C++ 模糊符号
【发布时间】:2012-08-22 09:26:00
【问题描述】:

我正在尝试使用 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'

我该如何解决这个错误

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-30
      • 2010-10-20
      相关资源
      最近更新 更多