当我试图在Qt C++程序中包含一个Python脚本时,我在试图包含Python.h时遇到了许多问题,因此我在互联网上四处搜索,试图找到一个解决方案。我发现了很多问题和博客,但它们并没有涵盖我所有的问题,我还是花了好几个小时,也经历了很多挫折。这就是为什么我必须用我的完整解决方案写下一个StackOverflow条目,这样它可能会帮助并可能加速您的所有工作:)
INCLUDEPATH = "C:\Users\Public\AppData\Local\Programs\Python\Python39\include"
LIBS += -L"C:\Users\Public\AppData\Local\Programs\Python\Python39\libs" -l"python39"
#include <QCoreApplication>
#include <QDebug>
#pragma push_macro("slots")
#undef slots
#include <Python.h>
#pragma pop_macro("slots")
int main(int argc, char *argv[])
{
qDebug() << "1" ;
QCoreApplication a(argc, argv);
Py_Initialize();
PyRun_SimpleString("from time import time,ctime\n"
"print('Today is', ctime(time()))\n");
Py_Finalize();
return a.exec();
}
#pragma push_macro("slots")
#undef slots
#include <Python.h>
#pragma pop_macro("slots")
通过这些步骤,我能够让python在Qt中使用64位MinGW和MSVC编译器运行。只有在调试模式下的MSVC仍然有问题。