如何交叉编译所有加入标准核心和服务框架

How to cross compile alljoyn standard core and service framework?

本文关键字:核心 标准 服务 框架 交叉编译      更新时间:2023-10-16

我有一个带armv5处理器的wifi摄像头,想交叉编译并加入标准核心,服务框架,并想制作通知生产者应用程序。

但是我在交叉编译alljoin时卡住了。我正在用codesourcery手臂交叉编译器编译alljoyn与gcc版本4.3.3

最初我使用了相同的命令,用于编译标准核心和服务框架。刚刚为arm和交叉编译器增加了CROSS_COMPILECPU标志。下面是使用的命令,编译过程失败,出现一些与有关的错误-std=c++11

命令:

scons BINDINGS=cpp WS=off BT=off ICE=off OS=linux CPU=arm CROSS_COMPILE="/home/CodeSourcery/sourcery_g++ _Lite/bin/arm-none-linux-gnueabi-" SERVICES="about,notification,controlpanel,config,onboarding,sample_apps"

错误:

打印头文件复制到'build'目录

/*编译第一个cc文件*/

cc1plus:错误:无法识别的命令行选项"-std=c++11"

您:* * *(建立/linux/胳膊/调试/obj/服务/config/cpp/样本/ConfigClientSample/ConfigClientMain。0]错误1

在此失败后,我发现以下链接,https://wiki.allseenalliance.org/develop/building_and_running

它说我们可以在交叉编译上编译openwrt的所有join。因此,我准备并执行了以下命令:

scons BINDINGS=cpp WS=off BT=off ICE=off OS=openwrt CPU=openwrt TARGET_PATH=/home/CodeSourcery/sourcery_g++ _Lite/bin/TARGET_CC=arm-none-linux-gnueabi-gcc TARGET_CFLAGS="-std=c++0x" TARGET_CPPFLAGS="-std=c++0x" TARGET_CXX= arm-none-linux-gnueabi-gcc TARGET_LINKFLAGS=" TARGET_AR=" TARGET_RANLIB=" STAGING_DIR=/usr/lib/x86_64-linux-gnu SERVICES="about,notification,controlpanel,config,onboarding,sample_apps"

但是在编译开始前出现错误,

scons: Reading SConscript files…

检查c++编译器对-std=c++11标志的支持…没有

检查c++编译器对-std=c++0x标志的支持…没有

***编译器太旧,无法构建AllJoyn。流产。

这是我的问题,

1。是否可以在不使用openwrt的情况下交叉编译所有标准客户端和服务?

2。使用openwrt交叉编译会影响alljoyn的任何功能吗?

3。我应该做些什么来克服c++11/c++0x错误,我应该找到新的gcc版本来交叉编译我的代码吗?

请告诉我是否有人交叉编译了alljoyn标准核心和服务框架,请提供步骤/命令给我。

提前感谢。Pratik

交叉编译AllJoyn的这些步骤对我来说很有效。http://itisprakash.blogspot.com/2016/05/cross-compile-alljoyn-for-raspberrypi.html