我正在尝试使用C ++和Python嵌入创建一个简单的游戏。 python代码嵌入在我的C ++代码中。我为此使用了Python / C API。 我想实现两个目标:
1)应用程序应该能够在没有安装Python的计算机上运行。
2)应用程序应该是一个独立的可执行文件(.exe)
例如,以下简单代码仅在系统已安装python的情况下才有效:
#include <Python.h>
#include <conio.h>
#include <stdio.h>
int main()
{
char pySearchPath[] = "Python27";
Py_SetPythonHome(pySearchPath);
Py_Initialize();
PyRun_SimpleString("print 'Hello World'");
PyRun_SimpleString("for i in range(5):\n"
"\tprint i,\n");
Py_Finalize();
getch();
return 0;
}
Python需要安装在计算机上,或者这些文件应该位于可执行文件的目录中:
python27.dll
Python27\
DLLs\ (contents of DLLs folder)
Lib\ (contents of Lib folder)
问题:如何在.exe
中包含/添加/绑定这些文件,以便我的应用程序可以在没有安装python的系统上执行?我想有一个独立的可执行文件。可能吗?如果是,那么请提供一些关于如何实现这一目标的提示?我已经投入大量时间在互联网上搜索,但不幸的是我没有找到任何有用的东西。
可能还有其他可能解决这个问题,但我不确定。例如,以下方法可以工作吗?
Python-Code ----转换----&gt;字节码-----&gt;本地代码-------&gt;在程序中导入
UPD :使用Cython我生成.pyd文件(.dll)。如何从我的应用程序生成.h文件或调用我的应用程序中的某些功能(当然,如果可能的话)?
谢谢。
答案 0 :(得分:0)
是的,你可以在C ++中嵌入python。 Google为我提供了两个我认为对您有用的链接。我不确定你是否已经知道这些链接,因为你在研究中没有提到这些链接。
http://www.codeproject.com/Articles/11805/Embedding-Python-in-C-C-Part-I此链接有关于此主题的两部分教程。
http://realmike.org/blog/2012/07/05/supercharging-c-code-with-embedded-python/此链接也在讨论同一主题。
基本上避免在答案中粘贴网站链接。但不幸的是,你的问题的答案太长了,我不得不在这里提供链接。对不起。为了安全起见,您应该从这些链接下载整个教程,以便将来如果教程脱机,您不会后悔!