我正在努力实现本页所述的目标: https://blogs.msdn.microsoft.com/pythonengineering/2016/04/26/cpython-embeddable-zip-file/
我要编译的代码如下:
#include "Python.h"
int
wmain(int argc, wchar_t **argv)
{
return Py_Main(argc, argv);
}
在VisualStudio15中,我必须在项目中添加python/include和到python libs目录的链接,还需要添加:
^{pr2}$然后编译并运行良好。我只是好奇,有可能用MIWW或者其他开源C/C++编译器来实现这一点吗?在
如果我放置一个文件my_python.cpp
,其中包含以下内容:
在新安装的32位python 3.5(windows 7 x64)的根目录中,cd到该目录并尝试运行:
gcc my_python.cpp -Llibs -lpython35 -o my_python.exe
我得到这个错误:
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
有没有办法解决这个问题,让它在没有visualstudio的情况下运行?在
这个错误与Python无关。
wmain
是visualstudio特有的。GCC不把wmain
作为入口点,它只是作为一个永远不会被调用的函数。在GCC要求}作为入口点。如果这两个入口点都找不到,编译器就会抱怨。所以让我们使用
main
或{main
作为入口点。在Py_Main
可能需要宽字符串输入。CommandLineToArgvW
将始终提供此功能。示例:如果仍然出现相同的错误,只需提供
^{pr2}$WinMain
入口点,使其满意另请注意,
*.lib
文件通常用于visualstudio。GCC版本需要扩展名为*.a
的库名。在相关问题 更多 >
编程相关推荐