





Этот вопрос: https: //stackoverflow.com/questions/279860 / ... дает довольно гибкий скелет scons, который должен удовлетворить ваши потребности с некоторыми настройками переменных пути.
Ваше предположение верно, Ричард. Я понятия не имею, что делает этот файл конфигурации, но думаю, что мне удалось извлечь из него что-то полезное.
Вот один пример файла Sconscript
env=Environment(CPPPATH='/usr/include/glib-2.0/:/usr/lib/glib-2.0/include:inc',
CPPDEFINES=[],
LIBS=['glib-2.0'])
env.Program('runme', Glob('src/*.c'))
(Строка среды на самом деле не нужна для примера, но у меня есть она, чтобы включить нестандартный путь заголовка glib и оставить его там, чтобы вы могли понять, как добавить дополнительные включения и определения)
Исходные файлы находятся в каталоге src, а файлы заголовков - в каталоге inc. Вы запускаете scons из базового каталога, и выходной файл также создается в том же каталоге.
env=Environment(CPPPATH='/usr/include/glib-2.0/:/usr/lib/glib-2.0/include:include',
CPPDEFINES=[],
LIBS=['glib-2.0'])
if ARGUMENTS.get('debug', 0):
env.Append(CCFLAGS = ' -g')
env.Program('template', Glob('src/*.cc'))
Получилось удовольствие. Спасибо.
Как сделать так, чтобы объектные файлы (*. To) попадали во вновь созданную папку с именем obj
Я думаю, что этот ответ слишком сложен для большинства новичков в scons. VariantDir? (например) и предполагает знание Python.