- 117
- 0
I've tried ver. 1.64.0. Cross-compilation for aarch64
boost采用1.64.0版本;交叉编译的使用平台式centos 7,目标平台是aarch64;交叉编译工具
第一步:
./bootstrap.sh
第二步:
修改 project-config.jam 如下:
...
if ! gcc in [ feature.values <toolset> ]
{
using gcc : arm : /home/xxx/arm/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc ;
}
...
# These settings are equivivalent to corresponding command-line
# options.
option.set prefix : /home/xxx/arm/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu ;
option.set exec-prefix : /home/xxx/arm/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/bin ;
option.set libdir : /home/xxx/arm/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/lib ;
option.set includedir : /home/xxx/arm/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/include ;
...
错误信息:
./b2 link=static --without-python --without-context --without-coroutine --no-samples --no-tests --stagedir=stage-aarch64 -j4 stage
This gives me an error like:
gcc.compile.c++ bin.v2/libs/context/build/gcc-arm/release/link-static/threading-multi/unsupported.o
libs/context/src/unsupported.cpp:7:2: error: #error "platform not supported"
#error "platform not supported"
^~~~~
"/home/xxx/arm/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_CONTEXT_SOURCE -DBOOST_DISABLE_ASSERTS -DNDEBUG -I"." -c -o "bin.v2/libs/context/build/gcc-arm/release/link-static/threading-multi/unsupported.o" "libs/context/src/unsupported.cpp"
...failed gcc.compile.c++ bin.v2/libs/context/build/gcc-arm/release/link-static/threading-multi/unsupported.o...
尝试过采用bjam 替代b2,也没有用
请问谁有遇到过类似问题
- 共 0 条
- 全部回答
-
薄荷微光都很凉。 普通会员 1楼
Boost Arm(也称为Aarch64 Arm Cross-Targeting)是一种支持Aarch64架构的交叉编译技术。它能够让你的C++代码在Aarch64平台上运行,而无需手动编写针对Aarch64架构的特殊代码。
然而,交叉编译过程可能会遇到一些问题。以下是一些可能的常见问题:
-
依赖库:交叉编译过程中,你需要使用一个目标库来链接你的代码。如果你的代码依赖于其他库,那么你需要确保这些库也在你的目标平台上可用。
-
硬件兼容性:Aarch64架构的CPU和操作系统可能与你的C++代码的兼容性有所不同。例如,Aarch64的指令集可能与你的CPU不同,或者你的操作系统可能不支持某些硬件特性。
-
编译器问题:交叉编译需要一个目标编译器来将C++代码转换为机器代码。如果你的编译器不支持Aarch64,那么你可能无法成功编译你的代码。
-
编译选项:交叉编译过程中,你可能需要使用一些特殊的编译选项来优化你的代码。如果你的编译选项不正确,那么你的代码可能无法正确运行。
解决这些问题的常见方法是:
-
安装目标库:确保你的代码依赖的库在你的目标平台上可用。你可以通过在你的源代码中链接库来实现这一点。
-
确保硬件兼容性:在编译你的代码之前,确保你的代码已经正确地处理了Aarch64架构的硬件特性。
-
使用正确的编译器:确保你的编译器支持Aarch64。你可以通过查阅编译器的文档或在网上查找解决方案来实现这一点。
-
适当设置编译选项:在交叉编译你的代码时,确保你已经正确地设置了编译选项。你可以查阅编译器的文档或在网上查找解决方案来实现这一点。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
