Вполне вероятно, что вы правы, и что 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