Saturday, February 12, 2011

With scons, how do you link to prebuilt libraries?

I recently started using scons to build several small cross-platform projects. One of these projects needs to link against pre-built static libraries... how is this done?

In make, I'd just append "link /LIBPATH:wherever libstxxl.lib" on windows, and "stxxl.a" on unix.

  • Just to document the answer, as I already located it myself.

    Program( 'foo', ['foo.cpp'], LIBS=['foo'], LIBPATH='.' )
    

    Adding the LIBS & LIBPATH parameters add the correct arguments to the build command line.

    More information here.

    From ceretullis
  • One small note, it's better to say LIBS=['foo'] rather than LIBS=['libfoo']. The former gives you platform independance (ie, in POSIX you will get a libfoo.a, and in Windows a foo.lib)

    ceretullis : Thanks for the additional input, I've incorporated this change in my answer.

0 comments:

Post a Comment