powerpc Maliit框架的交叉编译问题

时间:2014-07-28 11:57:23

标签: c++ c qt cross-compiling

面对交叉编译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。每件事看起来都不错。如果有人遇到此类问题,请让我知道或分享您的想法我们如何解决此问题

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题。问题来了,因为没有启用QtDBus模块。 要启用QtDBus模块,您需要使用-dbus

运行configure

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

但是在启用之前你应该有libdbus-1,否则你会得到以下消息。

无法启用QtDBus模块,因为找不到libdbus-1版本0.93。 打开详细消息(-v)到./configure以查看最终报告。 如果您认为此消息有误,则可以使用继续 切换( - 继续)到./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
    • 使;
    • make install
  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"
    • 使;
    • make install;
  3. 用dbus交叉编译Qt

    • export PKG_CONFIG_PATH = / usr / local / dbus / lib / pkgconfig
    • 配置" -dbus"和" -force-pkg-config"