问题实际上出在 Python.h(尤其是 pyconfig.h)中,它指定了实际的 Python 库名称
[我相信]你不需要使用Python调试库,boost人已经处理过这个问题
请参阅
pyconfig.h 中的Python 调试构建:
/* For an MSVC DLL, we can nominate the .lib files used by extensions */
#ifdef MS_COREDLL
# ifndef Py_BUILD_CORE /* not building the core - must be an ext */
# if defined(_MSC_VER)
/* So MSVC users need not specify the .lib file in
their Makefile (other compilers are generally
taken care of by distutils.) */
# ifdef _DEBUG
# pragma comment(lib,"python27_d.lib")
# else
# pragma comment(lib,"python27.lib")
# endif /* _DEBUG */
# endif /* _MSC_VER */
# endif /* Py_BUILD_CORE */
#endif /* MS_COREDLL */
在 boost 中,他们有一个用于 Python.h 的包装器 boost/python/detail/wrap_python.hpp,它处理所有 Windows 特定的东西(特别是允许您使用发布 Python 构建一个调试 dll ......也许你可以尝试使用而是(或通过代码;)