c+上的嵌入式python+;。更改调试器时出错 我在C++上做了嵌入式Python。 我安装了anaconda3(x64)和anaconda3(32位) 我的电脑有x64处理器,操作系统是Windows10。 我刚刚尝试了下面的简单代码,它可以在x64调试器上运行,但不起作用 在Visual Studio 2015的x86调试器上

c+上的嵌入式python+;。更改调试器时出错 我在C++上做了嵌入式Python。 我安装了anaconda3(x64)和anaconda3(32位) 我的电脑有x64处理器,操作系统是Windows10。 我刚刚尝试了下面的简单代码,它可以在x64调试器上运行,但不起作用 在Visual Studio 2015的x86调试器上,python,c++,debugging,Python,C++,Debugging,我在每个调试器上匹配了属性或库。 (即,使用x86调试器,我为lib或includes提供了anaconda3(32位)目录。) c++代码 #include <Python.h> int main(int argc, char** argv) { Py_Initialize(); PyRun_SimpleString("print ('Hello, World!\')\n"); Py_Finalize(); return 0; } 变量“mod”不获取任何值(在x86调试器中为N

我在每个调试器上匹配了属性或库。 (即,使用x86调试器,我为lib或includes提供了anaconda3(32位)目录。)

c++代码

#include <Python.h>
int main(int argc, char** argv) {
Py_Initialize();
PyRun_SimpleString("print ('Hello, World!\')\n");
Py_Finalize();
return 0;
}
变量“mod”不获取任何值(在x86调试器中为NULL)。 相反,变量“mod”在x64调试器中有一些值

我真的需要在x86调试器上运行,因为我必须在 我的应用程序使用x86调试器非常复杂。
有没有人能为这个问题提供一些解决方案?

我的问题的解决方案

我通过安装VS2017解决了我的问题。 在安装VS2017时,我添加了python开发工具 附加工具包:本机开发工具和python3(32位)。 可能是关于我的Python 3(32位)或一些C++开发工具的问题。 我不太清楚为什么我的问题会发生,但我希望这将有助于谁正在遭受同样的问题。 对于更多的问题,我将继续检查这篇文章并回答。
坦克。

所以编码不可用,没问题。但是,我注意到在函数的后面有一个PyDECREF,您跳过了它。这可能是需要的。请考虑RiaaShanx的建议。然而,它也不起作用。我不认为这是我的问题的关键点,因为x64调试器的情况。再次感谢。
mod = PyImport_ImportModuleNoBlock("encodings");
if (mod == NULL) {
    return -1;
}    
Py_DECREF(mod);
interp->codecs_initialized = 1;
return 0;