And*_*dré 5 boost cross-compiling
我正在尝试在我们的系统中设置Boost 1.42.我需要Boost使用gcc编译常规x86架构,我需要交叉编译德州仪器的ARM处理器.
ARM处理器的工具链基于gcc.像gcc,ar,ranlib这样的工具都以arm_v5t_le-为前缀.有关交叉编译的文档有些限制.这就是我所做的:我已经将以下内容添加到user-config.jam文件中:using gcc : arm : arm_v5t_le-g++ ;从我们的Makefile中调用Bjam,如下所示:bjam toolset=gcc-arm --toolset-root=/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/bin <some other options>为ARM处理器编译,如下所示:bjam toolset=gcc <some other options>对于x86处理器.这里提到了选项--toolset-root .
我遇到了以下问题:当我为ARM处理器构建应用程序时,我收到以下链接器错误:libboost_system-mt.a:无法读取符号:存档没有索引; 运行ranlib添加一个.我在存档上运行arm_v5t_le-ranlib后,链接没有问题.我的猜测是bjam使用ar而不是arm-v5t_le-ar.如何告诉bjam应该使用哪个归档器?
在邮件列表上,据说<archiver>也在user-config.jam中指定,但遗憾的是它似乎不起作用.我最终得到了相同的链接器错误.
谢谢.
尝试基于 CMake 的 Boost 构建,它可能能够比 BJam 更好地进行跨平台构建。至少我在这方面取得了成功(但我从未尝试过 ARM)。
| 归档时间: |
|
| 查看次数: |
3876 次 |
| 最近记录: |