又用到c++调用python,好久没用,居然生疏了,出了一点小纰漏。原本很简单的代码,运行始终报错。
PyObject *pModule = NULL;
pModule = PyImport_ImportModule("algorithms");
报错如图,中断指向上面的代码第二行。
以为是路径设置的问题,添加代码
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
报错如图,中断指向上面的代码第二行。
最后才发现,问题出在没有调用初始化函数上。添加后就不报错了。
Py_Initialize();
此外有点小发现,以前从来没注意过,以后注意:在vs中新建项目和解决方案时,如果没有取消“为解决方案创建目录”,会有两个目录。即在项目目录下又有一个解决方案目录。源文件和调试时的工作目录是解决方案目录,如"Project2/Project2/"目录下;生成的exe文件在项目目录,即“Project2/”目录下。如图所示。