TLDR; PyString_FromString
在Python3.5中不起作用,因此我需要一个替代方法。
我正在从该python文档中获取在C++项目中包含python 3的示例:
https://docs.python.org/3/extending/embedding.html
一切工作正常,但现在我想更改以下内容:pValue = PyLong_FromLong(atoi(argv[i + 3]));
到以下内容(我也不再使用i,那是从循环开始的):pValue = PyString_FromString("A string instead of a number");
似乎PyString_FromString
函数不再是Python3.5的选项,当我使用g++编译代码时,出现以下错误:
main.cpp:559:60: error: ‘PyString_FromString’ was not declared in this scope
pValue = PyString_FromString("A string instead of a number");`
关于如何解决这个问题的任何想法吗?无论我要寻找什么,我似乎都找不到一个不会引发错误的解决方案。我需要将字符串传递给Python文件,并且已经有一个字符串开头。
最佳答案
if (!(pValue = PyUnicode_FromString("A string instead of a number")))
return NULL;