我是Windows和Linux上的QT编码器,并且是我在Android设备上的第一次体验。我想在应用程序上使用QUdpSocket,但是调用函数writeDatagram时出现SIGILL错误。
在main.cpp中,我将类TestCPP声明为单例,如下所示:
qmlRegisterSingletonType<TestCPP>("FESystem", 1, 0, "MyUDPServer", TestCPP::qmlInstance);
当我按下按钮启动服务器(在QML中)时,我在TestCPP.cpp中使用以下行调用一个函数:
mUDPSocket = new QUdpSocket(this);
mUDPSocket->bind(45454, QUdpSocket::ShareAddress);
mUDPSocket->writeDatagram(data.toUtf8(), QHostAddress::Broadcast, 45454);
在调用writeDatagram()
时出现SIGILL错误。
有什么我不懂的吗? 是否可以在Android上使用QUdpSocket? 我的代码可以在Mac上正常工作。
我尝试了为Android armv7和Android armv8 64位编译的版本,而我的LG G5(Android 8.0.0)的两个版本均崩溃。 我在MacOS上使用QT 5.12.0进行开发。