gpt4 book ai didi

c++ - 导入 ctype;在 C++ 应用程序中嵌入 python

转载 作者:太空宇宙 更新时间:2023-11-04 12:25:10 25 4
gpt4 key购买 nike

我正在尝试将 Python 嵌入到基于 C++ 的编程语言中(CCL:计算控制语言,你们中的任何一个都没有听说过)。因此,我并没有真正的“主要”功能来进行调用。

我用main做了一个测试.cc程序,当我编译运行它时,我可以导入我自己的python模块和系统模块来使用。

当我将我的代码嵌入到基于 CCL 的程序中并编译它(使用 g++)时,似乎我拥有大部分功能,但我收到运行时错误:ImportError:/usr/lib/python2.6/lib-dynload/_ctypes.so: undefined symbol: PyType_GenericNew

这是在运行时错误时执行的代码。

void FFSim::initCKBot (){   
Py_Initialize();
PyRun_SimpleString("execfile('logical.py')");
}

logical.py 导入模块,其中一个模块尝试执行“from cytpes import *”,这会引发运行时错误。

有人可以向我解释一下这个问题以及如何解决吗?在编译代码的 C++ 方面时,我似乎已经正确链接了对象。

谢谢。

最佳答案

Python 运行时实际上是您的程序使用的库的集合。这些库获取字符串,将它们转换为 Python 字节码,然后解释字节码。您收到的错误是,作为解释程序的一部分,Python 运行时需要调用一个函数 (PyType_GenericNew),但该函数在您系统上已编译的 Python 运行时中不存在。脱离函数的名称,这不是您可以忽略或解决的问题。它是运行时的基本组成部分。

假设您的 PATH 是正确的,您最好的解决方案是重新安装或重建 Python。您的安装缺少一些重要的东西。

关于c++ - 导入 ctype;在 C++ 应用程序中嵌入 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2954581/

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