pyqtdeploy引发了一个非常奇怪的问题

时间:2017-09-01 11:03:21

标签: android python qt apk pyqt5

我正在使用pyqtdeploy将一个简单的python脚本打包到Qt Project中。然后我会尝试将其编译为.apk文件。我认为到目前为止环境已经完全建立,包括Android SDK,Android NDK,Qt,android studio,ant等。运行pyqtdeploy时总会出现一个奇怪的错误。

这是我的代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel


class Main(QWidget):

    def __init__(self):
        super().__init__()
        self.build_inter()

    def build_inter(self):
        self.lb = QLabel("Test", self)
        self.lb.move(0, 0)

        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = Main()
    sys.exit(app.exec_())

我拦截了一部分错误信息:

..\include/pyport.h:617:60: error: expected constructor, destructor, or type conversion before '(' token
 #                       define PyAPI_FUNC(RTYPE) __declspec(dllexport) RTYPE
                                                            ^
..\include/fileutils.h:109:1: note: in expansion of macro 'PyAPI_FUNC'
 PyAPI_FUNC(int) _Py_get_inheritable(int fd);
 ^
..\include/pyport.h:617:60: error: expected constructor, destructor, or type conversion before '(' token
 #                       define PyAPI_FUNC(RTYPE) __declspec(dllexport) RTYPE
                                                            ^
..\include/fileutils.h:111:1: note: in expansion of macro 'PyAPI_FUNC'
 PyAPI_FUNC(int) _Py_set_inheritable(int fd, int inheritable,
 ^
..\include/pyport.h:617:60: error: expected constructor, destructor, or type conversion before '(' token
 #                       define PyAPI_FUNC(RTYPE) __declspec(dllexport) RTYPE
                                                            ^
..\include/fileutils.h:114:1: note: in expansion of macro 'PyAPI_FUNC'
 PyAPI_FUNC(int) _Py_dup(int fd);

和截图:

enter image description here

我的配置:

enter image description here

有没有人遇到过类似的问题?我该怎么办?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我远不是专家,但在文档中,它看起来没有意义检查"运行应用程序"除非目标环境等于源环境。从你的窗口看来你似乎是从Windows到Android的交叉编译,因此我会尝试省略"其他构建步骤"的最后一个参数。 ("运行应用程序")。然后你必须自己测试它,例如Android工作室我想。希望它有所帮助。