首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓系统支持Qt QSharedMemory吗?

安卓系统支持Qt QSharedMemory吗?
EN

Stack Overflow用户
提问于 2018-07-10 16:19:28
回答 1查看 204关注 0票数 1

我正在尝试使用QSharedMemory。它在Windows下运行得很好,而在Android系统中则不然。第一个create调用失败。它没有链接到键,因为我使用了不同的值。

我的main.cpp如下:

代码语言:javascript
复制
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QSharedMemory>
#include <QDebug>

int main(int argc, char *argv[])
{
  QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
  QGuiApplication app(argc, argv);
  QQmlApplicationEngine engine;
  engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
  if (engine.rootObjects().isEmpty())
    return -1;

  QSharedMemory _sharedMemory("QtMemTest", nullptr);
  if (!_sharedMemory.create(sizeof(int), QSharedMemory::ReadWrite))
    qDebug() << "Failed " << _sharedMemory.errorString();
  else
    qDebug() << "Size " << QString::number(_sharedMemory.size());

  return app.exec();
}

在Windows上,我得到:

尺寸"4096“

在Android上:

main.cpp:17 (int (int,char**)):失败的"QSharedMemory::create: unable“

这是与一个进程,只是试图创建共享内存块。

这看起来真的是个基本问题..。我需要特定的Android许可吗?这个在Android中有售吗?

我使用Qt 4.6.2,目标是gcc 4.9,Qt5.9.6用于Android armv7。我试过在Android设备上运行6.0和8.0。

编辑

用QT5.11.1尝试过,问题仍然是一样的。

此外,在运行此命令时,我在应用程序输出控制台上得到一系列警告:

W libsharedExample.so:(null):0 ((null)):未实现的代码。

注释掉create调用将删除6个这样的警告。如何确定在给定的Qt发行版中实现了哪些特性?如果这不是为Android实现的,那么应用程序应该如何与其服务进行通信(这是一个不同的过程)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-25 16:59:07

所以这个类不是在Android上实现的。unimplemented code的警告是真实的。

在Android上移动数据的一种可靠方法似乎是使用QtRemoteObject。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51270061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档