Сборка zpping cpp / lib завершается неудачно в Fedora14, даже если точно следуют инструкциям - PullRequest
1 голос
/ 23 сентября 2011

То есть, следуя инструкциям в zxing / cpp / README, которые говорят: «Только для сборки библиотеки: - Запустите« scons lib »в этой папке (cpp)»

Ну, это именно то, чтоЯ сделал.Но я получаю:

 scons lib
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
o build/core/src/zxing/BarcodeFormat.o -c -O0 -g3 -ggdb -Wall -Ibuild/core/src build/core/src/zxing/BarcodeFormat.cpp
sh: o: command not found

С этим «O: команда не найдена» повторяется много раз.

Я думал, что проблема может быть в том, что gcc не найден, поэтому я проверил это:установлены.Я лишь кратко взглянул на питона scons, прежде чем разочаровался в попытке выяснить, почему он ищет команду «o».Конечно, их нет.

Кстати: я получил свою копию zxing 1.7 с помощью wget всего три дня назад, а сегодня установил "scons".Так что они актуальны.

1 Ответ

0 голосов
/ 23 сентября 2011

Вполне вероятно, что вы правы, и что SCons не находит GCC. Лучше всего добавить вызов, чтобы отобразить содержимое некоторой (или всей) среды. Как показано ниже, вы можете либо извлечь конкретную переменную, либо показать всю среду . Лучшее место, вероятно, будет рядом с вызовом для строителя (SharedLibrary, StaticLibrary или Program). Для среды с именем 'env':

print env.Dump()
print env['CC']
print env['CXX']

Обеспечение того, что изначально используется соответствующая среда по умолчанию (возможно, что-то вроде):

env = DefaultEnvironment( ... )

Или что переменные среды в вашей системе (включая путь) распространяются через SCons. Один из способов сделать это:

import os
# ...
env = Environment( ENV = os.environ, ... )

В крайних случаях вы можете решить эту проблему, указав явный путь к компилятору:

env['CC'] = '/usr/bin/gcc'

Edit:

Эти изменения необходимо внести в соответствующий файл SConstruct или SConscript. Что зависит от конкретного проекта и от того, чего вы пытаетесь достичь - в случае текущей версии zxing для кода Google было бы разумно внести изменения в строку 40 или рядом с ней файла SConscript

...