Кроссплатформенное здание Boost с SCons - PullRequest
3 голосов
/ 15 сентября 2010

Я очень старался, но не смог найти пример использования SCons (или любой другой системы сборки) для сборки на gcc и mvc ++ с библиотеками boost.

В настоящее время мой SConstruct выглядит как

env = Environment()
env.Object(Glob('*.cpp'))
env.Program(target='test', source=Glob('*.o'), LIBS=['boost_filesystem-mt', 'boost_system-mt', 'boost_program_options-mt'])

, который работает в Linux, но не работает с Visual C ++, который, начиная с 2010 года, не позволяет указывать глобальные каталоги включения.

1 Ответ

3 голосов
/ 16 сентября 2010

Вам понадобится что-то вроде:

import os

env = Environment()
boost_prefix = ""
if is_windows:
  boost_prefix = "path_to_boost"
else:
  boost_prefix = "/usr" # or wherever you installed boost
sources = env.Glob("*.cpp")
env.Append(CPPPATH = [os.path.join(boost_prefix, "include")])
env.Append(LIBPATH = [os.path.join(boost_prefix, "lib")])
app = env.Program(target = "test", source = sources, LIBS = [...])
env.Default(app)
...