首页 文章

如何交叉编译alljoyn标准核心和服务框架?

提问于
浏览
0

我有一个带armv5处理器的wifi摄像头,想要交叉编译和alljoyn标准核心,服务框架,并希望制作通知 生产环境 者应用程序 .

但是在交叉编译alljoyn时我被卡住了 . 我用codeourcery arm交叉编译器编译alljoyn与 gcc version 4.3.3

最初我使用了相同的命令,用于编译标准的核心和服务框架 . 刚为arm和crosscompiler添加了 CROSS_COMPILECPU 标志 . 这是使用的命令,编译过程失败,与 -std=c++11 有关的一些错误

command:

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,配置,入职,sample_apps”

error:

....

打印用于将头文件复制到'build'dir

....

/ 编译第一个cc文件 /

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

scons:*** [build / linux / arm / debug / obj / services / config / cpp / samples / ConfigClientSample / ConfigClientMain.o]错误1

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

它说我们可以在交叉编译时为openwrt编译alljoyn . 所以我准备并执行了以下命令:

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-g TARGET_LINK = 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:阅读SConscript文件......

检查c编译器支持-std = c 11 flag ... no

检查c编译器支持-std = c 0x flag ... no

***编译器太旧,无法构建AllJoyn . 中止 .

所以这是我的问题,

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

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

3. 我应该怎么做才能克服c 11 / c 0x错误,我应该找到新的gcc版本来交叉编译我的代码 .

如果有人已经为任何平台交叉编译了alljoyn标准核心和服务框架,请告诉我,请为我提供步骤/命令 .

提前致谢 . PRATIK

1 回答

相关问题