C++ boost::python导入函数失败,返回“0”;访问冲突读取位置“;

C++ boost::python导入函数失败,返回“0”;访问冲突读取位置“;,c++,boost,boost-python,C++,Boost,Boost Python,我尝试在Puth::Python中导入C++中的Python脚本TestScript。但是boost::python在导入行失败。scriptModule、scriptFunc是在别处声明的boost::python::object 我应该提到单独使用PyImport_ImportModule(“testscript”)是有效的 try { Py_Initialize(); scriptModule = import("testscript&q

我尝试在Puth::Python中导入C++中的Python脚本TestScript。但是boost::python在导入行失败。scriptModule、scriptFunc是在别处声明的
boost::python::object

我应该提到单独使用PyImport_ImportModule(“testscript”)是有效的

    try {
        Py_Initialize();

        scriptModule = import("testscript");
        scriptFunc = scriptModule.attr("testfunction");
    }
    catch (...) {
        PyErr_Print();
    }
堆栈跟踪:

    python39.dll!_PyObject_GC_Alloc(int use_calloc, unsigned int basicsize) Line 2214   C
    [Inline Frame] python39.dll!_PyObject_GC_Malloc(unsigned int) Line 2252 C
    [Inline Frame] python39.dll!_PyObject_GC_New(_typeobject *) Line 2264   C
    python39.dll!new_dict(_dictkeysobject * keys, _object * * values) Line 628  C
    [Inline Frame] python39.dll!PyDict_New() Line 723   C
    python39.dll!PyUnicode_InternInPlace(_object * * p) Line 15601  C
    [Inline Frame] python39.dll!PyUnicode_InternFromString(const char *) Line 15645 C
    python39.dll!PyImport_Import(_object * module_name) Line 2028   C
    python39.dll!PyImport_ImportModule(const char * name) Line 1488 C
>   boost_python39-vc141-mt-gd-x32-1_75.dll!boost::python::import(boost::python::str name) Line 20  C++

这里的问题是,我是在调试时编译我的应用程序的,而我编译的boost libs没有链接到python的调试dll,即python39_d.dll,正如您在堆栈跟踪中看到的那样,该dll是版本一的python39.dll