如何将Python嵌入C++;Builder2010(非Delphi)应用程序?
我正在尝试将Python嵌入Windows的C++Builder应用程序中 在对这个主题()进行了大量研究之后,我发现Python4Delphi项目似乎非常有趣,这正是我想要做的。问题是,我没有使用Delphi(我也不想使用它),只使用C++Builder如何将Python嵌入C++;Builder2010(非Delphi)应用程序?,python,c++,c++builder,Python,C++,C++builder,我正在尝试将Python嵌入Windows的C++Builder应用程序中 在对这个主题()进行了大量研究之后,我发现Python4Delphi项目似乎非常有趣,这正是我想要做的。问题是,我没有使用Delphi(我也不想使用它),只使用C++Builder 我还发现了一些例子,将Python嵌入C++项目中,因此我正在尝试这个方法。问题是我甚至不能编译第一个简单的“Hello world”示例 以下是我遵循的步骤: < LI>在C++ Builder中创建一个新的控制台应用程序 包括Python
我还发现了一些例子,将Python嵌入C++项目中,因此我正在尝试这个方法。问题是我甚至不能编译第一个简单的“Hello world”示例
以下是我遵循的步骤: < LI>在C++ Builder中创建一个新的控制台应用程序#pragma hdrstop
#布拉格语
#ifdef_WIN32
#包括
#否则
typedef char_TCHAR;
#在main中定义
#恩迪夫
#包括
#包括
#包括
int main()
{
PyObject*品脱;
Py_初始化();
PyRun_SimpleString(“print('helloworld from Embedded Python!!!'));
Py_Finalize();
printf(“\n按任意键退出…\n”);
如果(!\u getch())\u getch();
返回0;
}
在编译过程中,我得到以下错误倍数:
[bcc32c错误]pymath.h(22):声明与已在范围中使用声明的目标冲突
例如,当编译pymath.h
中的第22行时,就会发生这种情况:
#如果NDEF有一轮
外部双圆(双);
#恩迪夫
我认为这可能是因为编译器和/或pyconfig.h
配置。作为C++初学者和这类事物的初学者,我很难解决这个问题。
你能帮帮我吗,你有什么建议吗
编辑
2020年4月以来,C++ Builder支持Boost库,可以用于在C++程序中实现Python。因此,前面的错误不再出现,而是我有一个不同的错误
使用与前面相同的脚本,但使用#include
,我有一个错误:
[ilink32错误]致命:无法打开文件“LIBBOOST_PYTHON38-BCB32C-MT-S-X32-1_68.LIB”
你有办法解决这个问题吗?我使用C++Builder 10.4和Python4Delphi 我已安装Python for Windows: Python版本 3.8.2(tags/v3.8.2:7B3ab592020年2月25日22:45:29)[MSC v.1916 32位(英特尔)] 版本信息。 系统版本信息(主版本=3,次版本=8,微版本=2,最终版本=0) 安装和测试的步骤:
目前还没有在任何地方安装C++BUilder 2020。我认为您应该能够使用C++Builder附带的Delphi命令行编译器,但必须尝试一下——我在不同的机器上使用了RAD Studio 10.4和RAD Studio 10.4.1。我使用了C++Builder 10.4和Python4Delphi 我已安装Python for Windows: Python版本 3.8.2(tags/v3.8.2:7B3ab592020年2月25日22:45:29)[MSC v.1916 32位(英特尔)] 版本信息。 系统版本信息(主版本=3,次版本=8,微版本=2,最终版本=0) 安装和测试的步骤:
implib -aa python3.lib python3.dll
implib -aa python39.lib python39.dll
[ilink32 Error] Error: Unresolved external '__Py_RefTotal' referenced from ...
[ilink32 Error] Error: Unresolved external '__Py_NegativeRefcount' referenced from ...
#ifdef _DEBUG
//# define Py_DEBUG <<--- comment this!!
#endif