Недавно я начал использовать scons для создания нескольких небольших кроссплатформенных проектов. Один из этих проектов должен быть связан с предварительно созданными статическими библиотеками ... как это сделать?
В make я бы просто добавил «link / LIBPATH: везде, где libstxxl.lib» в Windows и «stxxl.a» в unix.





Просто чтобы задокументировать ответ, так как я сам его нашел.
Program( 'foo', ['foo.cpp'], LIBS=['foo'], LIBPATH='.' )
Добавление параметров LIBS и LIBPATH добавляет правильные аргументы в командную строку сборки.
Дополнительная информация здесь.
Что, если я хочу связать библиотеку, которая уже скомпилирована как .so?
@AaronFranke вопрос был специально для статических библиотек, а не для динамических библиотек (.so в unix)
Одно небольшое замечание, лучше сказать
LIBS=['foo'], а неLIBS=['libfoo']. Первый дает вам независимость от платформы (т.е. в POSIX вы получите libfoo.a, а в Windows - foo.lib).