移植Qt_for_ARM出错小结

移植Qt_for_ARM

20121027

21:03

[root@localhost qtARM]# ./configure -prefix /usr/local/qtARM/ -embedded arm -xplatform qws/linux-arm-g++ -qt-libtiff -qt-libmng -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib

Which edition of Qt do you want to use ?

 

Type 'c' if you want to use the Commercial Edition.

Type 'o' if you want to use the Open Source Edition.

o

 

问题一:

You have not explicitly asked to use pkg-config and are cross-compiling.

pkg-config will not be used to automatically query cflag/lib parameters for

Dependencies

 

 

解决:

步骤一:其实加个参数就可以了,第一个提示说你没有使用PKG-CONFIG功能,第二个提示是你给你库位置有问题。如果你已经安装了pkg-config,可以使用命令 which pkg-config,查看是否有安装。

然后在./configure添加一句命令 -force-pkg-config,提示使用pkg-config功能。

步骤二:

输入:

./configure -force-pkg-config -prefix /usr/local/qtARM/ -embedded arm -xplatform qws/linux-arm-g++ -qt-libtiff -qt-libmng -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib

 

问题二:

warning:

You have not explicitly asked to use pkg-config and are cross-compiling.

pkg-config will not be used to automatically query cflag/lib parameters for

dependencies

 

解决办法:编qt/e库前必需把tslib库路径加入当前环境变量PKG_CONFIG_PATH和LD_LIBRARY_PATH中,如下面所示(主要为了获取.pc文件?root@localhost tslib]# ls lib/pkgconfig/

tslib-0.0.pc)

 

输入:

export TSLIB_ROOT=/usr/local/tslib

export PKG_CONFIG_PATH=$TSLIB_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH

export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$LD_LIBRARY_PATH

 

如此才可编译出可连接tslib库的QT/E库

 

 

pkg-config的使用http://www.360doc.com/content/12/0208/09/6828497_184959189.shtml

 

 

重新配置:

./configure -force-pkg-config -prefix /usr/local/qtARM/ -embedded arm -xplatform qws/linux-arm-g++ -qt-libtiff -qt-libmng -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib

提示警告:

Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not

been set. This means your toolchain's .pc files must contain

the paths to the toolchain's libraries & headers. If configure

tests are failing, please check these files.

这里我直接跳过了,后面成功了。

 

配置通过。

 

 

 

总结configure,pkg-config和PKG_CONFIG_PATH

http://hi.baidu.com/buptwinnie/item/0655885acc272bc7d2e10cff

 

.pc文件

pc(package configure)是包(库)配置文件,保存在PKG_CONFIG_PATH=/usr/gpephone//lib/pkgconfig::/usr/lib/pkgconfig。pc文件保存了该库的头文件、库所在的路径信息。GCC等编译器编译时,比如编译某个工程用到glib-2.0这个库,pkg-config会按照PKG_CONFIG_PATH中的路径进行搜索glib-2.0.pc,然后把lib-2.0.pc作为参数传给GCC,那么GCC就可以找到该库了。

 

需要重新设置 PKG_CONFIG_PATH 和LD_LIBRARY_PATH 环境变量

 

理解 pkg-config 工具,http://www.chenjunlu.com/2011/03/understanding-pkg-config-tool/

 

 

 

设置环境变量

vim ~/.setenv-qtARM.sh

 

export PATH=/usr/local/qtARM/bin:$PATH

 

export QTEDIR=/usr/local/qtARM/

 

export LD_LIBRARY_PATH=/usr/local/qtARM/lib:$LD_LIBRARY_PATH

 

export QMAKESPEC=/usr/local/qtARM/mkspecs/qws/linux-arm-g++//这么设置使得在make时能通过,并成功下载到开发板使用。

                                                         

 

 

4.4.1交叉编译动态库:/4.4.1/arm-none-linux-gnueabi/libc/lib

 

 

我的4.4.1交叉编译器的libstdc.so*在下面目录:

/4.4.1/arm-none-linux-gnueabi/libc/usr/lib

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
移植Qt MQTT 到 ARM Linux 平台上需要以下几个步骤: 1. 安装交叉编译工具链:在Linux下,我们需要安装适用于ARM架构的交叉编译工具链,例如arm-linux-gnueabihf。这个工具链将会提供编译Qt和其它依赖库所需的工具和环境。 2. 下载Qt源码:从Qt官方网站上下载适用于ARM Linux的Qt源码。选择适合您的版本和需要的模块。确保选择支持MQTT的模块。 3. 配置编译选项:解压源码后,使用命令行进入源码目录。运行`configure`脚本来配置编译选项,例如指定交叉编译工具链和目标平台。确保选择MQTT模块和适当的依赖库,在这种情况下是Paho MQTT C库和OpenSSL库。 4. 运行make:在配置完成后,运行`make`命令来编译Qt源码。这个过程可能会需要一段时间,具体取决于您的电脑性能和源码大小。 5. 安装Qt:编译完成后,使用`make install`命令来安装Qt到指定的路径。确保您选择正确的安装路径,以便在ARM Linux上使用。 6. 创建Qt MQTT项目:现在,您可以在ARM Linux上创建基于Qt MQTT的项目了。使用Qt Creator工具创建一个新项目,并在项目配置中添加必要的库和模块。确保设置正确的编译器和目标平台。 7. 编译和部署:通过Qt Creator编译和构建项目。然后,将生成的可执行文件和任何依赖的库文件复制到ARM Linux设备上。确保正确配置和安装依赖库,包括Paho MQTT C库和OpenSSL库。 8. 测试和调试:最后,在ARM Linux设备上运行和测试您的Qt MQTT应用程序。使用调试工具(例如GDB)来调试任何可能出现的问题,确保应用程序正常运行。 通过以上步骤,您应该能够成功将Qt MQTT移植到ARM Linux平台上,并在设备上运行和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值