Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Can';t在Boost.Python中使用u stdcall编译示例_C++_Boost Python_Msvc12 - Fatal编程技术网

C++ Can';t在Boost.Python中使用u stdcall编译示例

C++ Can';t在Boost.Python中使用u stdcall编译示例,c++,boost-python,msvc12,C++,Boost Python,Msvc12,我试图使用Boost.Python在Python中封装函数,但在使用\uu stdcall时遇到了问题。下面是一个例子: #define BOOST_PYTHON_STATIC_LIB #define BOOST_PYTHON_ENABLE_STDCALL #include <boost/python.hpp> #include <boost/python/signature.hpp> void __stdcall f(void) { return; } u

我试图使用
Boost.Python
在Python中封装函数,但在使用
\uu stdcall
时遇到了问题。下面是一个例子:

#define BOOST_PYTHON_STATIC_LIB
#define BOOST_PYTHON_ENABLE_STDCALL
#include <boost/python.hpp>
#include <boost/python/signature.hpp>

void __stdcall f(void) 
{
    return;
}

using namespace boost::python;

BOOST_PYTHON_MODULE(MyPyDLL)
{
    def("func", f);
}
#定义BOOST_PYTHON_STATIC_LIB
#定义BOOST\u PYTHON\u ENABLE\u STDCALL
#包括
#包括
void uu stdcall f(void)
{
返回;
}
使用名称空间boost::python;
BOOST_PYTHON_模块(MyPyDLL)
{
def(“func”,f);
}
当我尝试编译时,我得到100多个类似错误,但前两个是:

错误C2780: 'boost::mpl::vector10::type&、T0、T1、T2、T3、T4、T5、T6、T7> boost::python::detail::get_签名(RT(_thiscall ClassT:)* )(T0、T1、T2、T3、T4、T5、T6、T7)常量,目标*)':需要2个参数-1 假如 C:\boost\boost\u 1\u 62\u 0\u python\boost\python\make\u function.hpp 104

错误C2780: 'boost::mpl::vector10::type&、T0、T1、T2、T3、T4、T5、T6、T7> boost::python::detail::get_签名(RT(_thiscall ClassT:)* )(T0、T1、T2、T3、T4、T5、T6、T7)易失性常数,目标*)':2 参数-1已提供 C:\boost\boost\u 1\u 62\u 0\u python\boost\python\make\u function.hpp 104

如您所见,我使用了define
BOOST\u PYTHON\u ENABLE\u STDCALL
,这在

但不管有没有定义,问题都是一样的


有人知道我做错了什么吗?

如果在导入BOOST头文件后定义BOOST\u PYTHON\u ENABLE\u STDCALL,就会出现该错误