gpt4 book ai didi

由 C++ Python 3 绑定(bind)

转载 作者:太空狗 更新时间:2023-10-29 22:30:56 28 4
gpt4 key购买 nike

我正在尝试在 C++ 中绑定(bind) python3。

使用时:

Py_SetProgramName(argv[0]);

它给出了这个错误:

error C2664: 'Py_SetProgramName' : cannot convert parameter 1 from 'char *' to 'wchar_t *'

尽管这就是 documentation example 的方式表明这样做。

我也试过这个:

Py_SetProgramName((wchar_t*)argv[0]);

但显然那是 wrong way去做。

那么我该如何解决这个问题,还有关于在 C++ 中绑定(bind) Python 3 的任何其他好的资源吗?

最佳答案

从 char 转换为 wchar_t 的官方方法现在是:

wchar_t *program = Py_DecodeLocale(argv[0], NULL);
Py_SetProgramName(program);

旁注 mbstowcs 在某些平台上不可靠。

将 python2/3 与 c++ 一起使用的一个很好的例子是 Panda3D。一个用 python 编写脚本的 c++ 游戏引擎,它还提供了一个 c++ 模块构建器。

关于由 C++ Python 3 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18248343/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com