开发者

Cross-Compile of Boost for GCC ARM (Linux) from Windows building .o but not .a

开发者 https://www.devze.com 2023-04-09 20:55 出处:网络
I\'m cross-compiling Boost for a Linux distro on an ARM board. I\'m using windows with Boost 1.47. My project-config.jam contains the following:

I'm cross-compiling Boost for a Linux distro on an ARM board. I'm using windows with Boost 1.47.

My project-config.jam contains the following:

import option ; 

using gcc : arm : "C:/Program Files (x86)/CodeSourcery/Sourcery

G++ Lite/bin/arm-none-linux-gnueabi-g++" ;

option.set keep-going : false ;

And I'm building with the co开发者_如何学编程mmand:

bjam toolset=gcc-arm target-os=linux

Whilst .o objects are building just fine, .a builds are failing usually with something like:

"C:\Program Files (x86)\CodeSourcery\Sourcery G++ Lite\bin"

"bin.v2\libs\wav e\build\gcc-arm\release\link-static\target-os-linux\threading-multi\libboost_wav e-gcc-mt-1_47.a"

...failed gcc.archive bin.v2\libs\wave\build\gcc-arm\release\link-static\target- os-linux\threading-multi\libboost_wave-gcc-mt-1_47.a... ...skipped libboost_wave-gcc-mt-1_47.a for lack of libboost_wav e-gcc-mt-1_47.a... ...failed updating 23 targets... ...skipped 28 targets... ...updated 641 targets...

I am also getting quote a few of the following error messages:

'"C:\Program Files (x86)\CodeSourcery\Sourcery G++ Lite\bin"' is not recognized as an internal or external command, operable program or batch file.

Any ideas guys?

Many thanks


I just have:

import option ; 

using gcc : arm : arm-none-linux-gnueabi-g++.exe ; 

option.set keep-going : false ; 

And the compiler in the path. Works for me. Perhaps '\' vs '/' in your case.

http://www.boost.org/boost-build2/doc/html/bbv2/tasks/crosscompile.html

EDIT: To add the

C:\Program Files (x86)\CodeSourcery\Sourcery G++ Lite\bin

directory to your path follow the instructions here:

http://geekswithblogs.net/renso/archive/2009/10/21/how-to-set-the-windows-path-in-windows-7.aspx


Faced the same problem, it was caused by the spaces within the path which aren't properly handled by boost.build. Either switch to boost 1.48.0, or move CS into a path without spaces.


The error for C:\Program Files (x86)\CodeSourcery\Sourcery G++ Lite\bin sounds like a variable for the name of the compiler is missing.

0

精彩评论

暂无评论...
验证码 换一张
取 消