gpt4 book ai didi

c++ - powerpc Maliit 框架交叉编译问题

转载 作者:行者123 更新时间:2023-11-30 17:30:44 26 4
gpt4 key购买 nike

交叉编译 Maliit 框架源代码时面临问题。

inputcontextdbusaddress.cpp: In member function 'virtual void Maliit::InputContext::DBus::DynamicAddress::get()':
inputcontextdbusaddress.cpp:50: error: 'QDBusMessage' was not declared in this scope
inputcontextdbusaddress.cpp:50: error: expected ';' before 'message'
inputcontextdbusaddress.cpp:52: error: 'message' was not declared in this scope
inputcontextdbusaddress.cpp:54: error: 'QDBusConnection' has not been declared
inputcontextdbusaddress.cpp: In member function 'void Maliit::InputContext::DBus::DynamicAddress::successCallback(const QDBusVariant&)':
inputcontextdbusaddress.cpp:62: error: invalid use of incomplete type 'const struct QDBusVariant'
inputcontextdbusaddress.h:21: error: forward declaration of 'const struct QDBusVariant'
inputcontextdbusaddress.cpp: In member function 'void Maliit::InputContext::DBus::DynamicAddress::errorCallback(const QDBusError&)':
inputcontextdbusaddress.cpp:67: error: invalid use of incomplete type 'const struct QDBusError'
inputcontextdbusaddress.h:22: error: forward declaration of 'const struct QDBusError'

已经检查循环依赖,它也包括 QDBus。一切看起来都不错。如果有人遇到此类问题,请告诉我或分享您的想法,我们如何解决此问题

最佳答案

我自己已经解决了这个问题。问题出现是因为 QtDBus 模块未启用。要启用 QtDBus 模块,您需要使用 -dbus 运行配置

./configure -embedded arm -xplatform qws/linux-powerpc-g++ -dbus ......

但在启用之前,您应该拥有 libdbus-1,否则您将收到以下消息。

无法启用 QtDBus 模块,因为未找到 libdbus-1 版本 0.93。打开 ./configure 的详细消息传递 (-v) 以查看最终报告。如果您认为此消息有误,您可以使用继续切换(-继续)到 ./configure 以继续。

为此,您应该下载 dbus-1.2.4.6.tar.gz 和 expat-2.0.1.tar.gz

  1. 交叉编译 expat

    • tar zxvf expat-2.0.1.tar.gz
    • cd expat-2.0.1/
    • ./configure --host=powerpc-linux --prefix=/usr/local/expat/CC=powerpc-linux-gcc
    • 制作;
    • 进行安装
  2. 交叉编译dbus

    • tar zxvf dbus-1.2.24.tar.gz
    • cd dbus-1.2.24
    • ./configure --prefix=/usr/local/dbus/--host=powerpc-linux --with-x=no ac_cv_have_abstract_sockets=yes "CC=powerpc-linux-gcc -I/usr/local/expat/include -L/usr/local/expat/lib"
    • 制作;
    • 进行安装;
  3. 使用 dbus 交叉编译 Qt

    • 导出 PKG_CONFIG_PATH=/usr/local/dbus/lib/pkgconfig
    • 使用“-dbus”和“-force-pkg-config”进行配置

关于c++ - powerpc Maliit 框架交叉编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24994737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com