【发布时间】:2020-12-11 23:15:26
【问题描述】:
我想将 Python 解释器 3.4 嵌入到 Qt 5.2.1 应用程序(64 位)中。 但是我遇到了构建问题,我的意思是当我在 main.cpp 中包含 Python 标头时,它编译得很好。
#include <python.h>
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
但是当我把它放在其他任何地方时(在 Qt 标头之后)
//
// embedpytest.cpp
//
#include <QLibrary>
#include <python.h>
EmbedPyTest::EmbedPyTest()
{
}
我得到编译错误:
C:\Python34\include\object.h:435: error: C2059: syntax error : ';'
C:\Python34\include\object.h:435: error: C2238: unexpected token(s) preceding ';'
这个问题和这个问题很相似,但是解决方法不行
有人知道如何解决这个问题吗?或建议一些干净的解决方法,以便 python.h 和 Qt5 以后还能幸福的生活在一起吗?
【问题讨论】:
-
这个答案怎么不适合你?因为它使用与您完全相同的 Python 和 Qt 版本对我有用。
-
似乎不可能。我正在使用 64 位 python 3.4、64 位 Qt 5.2.1 和 Visual Studio 2012
-
我用的是g++,也许这就是区别。
标签: python c++ qt qmake qt-signals