我有一个wifi摄像头与armv5处理器,并希望交叉编译和alljoyn标准的核心,服务框架,并希望作出通知生产者的应用。
但是我在交叉编译alljoyn的时候被困住了。我正在用codesourcery交叉编译器编译alljoyn和gcc版本4.3.3
最初,我使用了相同的命令,用于编译标准核心和服务框架。刚为arm和交叉编译器添加了CROSS_COMPILE和CPU标志。下面是使用的命令,编译过程失败,与-std=c++11相关的一些错误
命令:
CROSS_COMPILE="/home/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-“BINDINGS=cpp WS=off BT=off ICE=off OS=linux CPU=arm SERVICES=”关于,通知,控制面板,配置,上板,sample_apps“
错误:
……
将头文件复制到“build”dir的打印输出
……
编译第一个cc文件的/* */
cc1plus:错误:无法识别的命令行选项"-std=c++11“
scons:* build/linux/arm/debug/obj/services/config/cpp/samples/ConfigClientSample/ConfigClientMain.o错误1
在这个失败之后,我发现了下面的链接,running
它说我们可以通过交叉编译为openwrt编译alljoyn。因此,我准备并执行了以下命令:
TARGET_PATH=/home/CodeSourcery/Sourcery_G++_Lite/bin/ BINDINGS=cpp WS=off BT=off ICE=off OS=openwrt CPU=openwrt CPU=openwrt_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 gnueabi-gcc TARGET_LINKFLAGS=“TARGET_AR=”TARGET_RANLIB=“阶段性_DIR=/usr/lib/x86_64-linux-gnu SERVICES=”关于通知、控制面板、配置、入职板、sample_apps“。
但是在编译开始之前就会出错,
读取SConscript文件..。
检查c++编译器对-std=c++11标志的支持。不是
检查c++编译器对-std=c++0x标志的支持。不是
*编译器太旧,无法构建AllJoyn。正在中止。
所以这是我的问题
1.可以不使用openwrt交叉编译alljoyn标准客户端和服务吗?
2.使用openwrt进行交叉编译是否会影响alljoyn的任何功能?
3.我应该做些什么来克服c++11/c++0x错误,如果我找到新的gcc版本交叉编译我的代码。
如果有人交叉编译了alljoyn标准核心和任何平台的服务框架,请告诉我,请提供步骤/命令。
提前谢谢。普赖克
发布于 2016-07-05 22:46:02
这些交叉编译AllJoyn的步骤对我起了作用。http://itisprakash.blogspot.com/2016/05/cross-compile-alljoyn-for-raspberrypi.html
https://stackoverflow.com/questions/32897876
复制相似问题