Кросс-компиляция Boost для GCC ARM (Linux) из Windows строит .o, но не .a - PullRequest
1 голос
/ 03 октября 2011

Я кросс-компилирую Boost для дистрибутива Linux на плате ARM. Я использую Windows с Boost 1.47.

Мой проект-config.jam содержит следующее:

import option ; 

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

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

option.set keep-going : false ;

И я строю с командой:

bjam toolset = gcc-arm target-os = linux

Хотя объекты .o строятся просто отлично, сборки .a обычно терпят неудачу с чем-то вроде:

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

"bin.v2 \ ЛИЭС \ WAV е \ сборки \ НКИ-рука \ релиз \ ссылка статической \ целевой ОС-Linux \ потоковой мультимиллионера \ libboost_wav е-НКУ-мт-1_47.a "

... сбой gcc.archive bin.v2 \ ЛИЭС \ волна \ сборка \ НКИ-рука \ релиз \ ссылка статической \ target- os-linux \ threading-multi \ libboost_wave-gcc-mt-1_47.a ... ... пропущен libboost_wave-gcc-mt-1_47.a из-за отсутствия libboost_wav e-gcc-mt-1_47.a ... ... не удалось обновить 23 цели ... ... пропущено 28 цели ... ... обновлено 641 целей ...

Я также получаю цитату из следующих сообщений об ошибках:

'C: \ Program Files (x86) \ CodeSourcery \ Sourcery G ++ Lite \ bin "' не является распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.

Есть идеи, ребята?

Большое спасибо

Ответы [ 3 ]

2 голосов
/ 03 октября 2011

У меня просто есть:

import option ; 

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

option.set keep-going : false ; 

И компилятор в пути.Работает для меня.Возможно '\' vs '/' в вашем случае.

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

РЕДАКТИРОВАТЬ: Добавить

C: \ Program Files (x86) \Каталог CodeSourcery \ Sourcery G ++ Lite \ bin

к вашему пути следуйте инструкциям здесь:

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

1 голос
/ 02 февраля 2012

Столкнулся с той же проблемой, это было вызвано пробелами в пути, которые не обрабатываются boost.build. Либо переключитесь на повышение 1.48.0, либо переместите CS в путь без пробелов.

0 голосов
/ 03 октября 2011

Ошибка для C: \ Program Files (x86) \ CodeSourcery \ Sourcery G ++ Lite \ bin звучит так, будто отсутствует переменная для имени компилятора.

...