
David Abrahams:
"Stephan T. Lavavej" <stl@caltech.edu> writes:
When Boost Filesystem is built with bjam "-sTOOLS=gcc" or bjam "-sTOOLS=mingw" on MinGW, the resulting static library is a .lib consisting of .obj files. However, it is traditional for gcc to use .a files which consist of .o files. I fix this by hand by renaming the .obj files to .o and then executing ar rvs libboost_filesystem.a *.o , but it would be nice if bjam would get it correctly by itself.
You need to use a cygwin build of bjam if you want cygwin-protocol file extensions.
Or he may override them from command line: bjam -sTOOLS=mingw -sSUFLIB=.a -sSUFDLL=.dll -sSUFOBJ=.o (Well, at least sSUFLIB and -sSUFDLL seems to work. I haven't tried -sSUFOBJ yet, as I was only interested in having the built libraries named for easier inclusion in my projects' makefiles.) Care to enlighten a newbie as to why you call these file extensions cygwin-protocol? I can't think of any libraries apart from Boost, whether compiled using MSYS or plain MinGW, that don't use them. Then again, Boost is the only one I've compiled using bjam. I thought these extensions where a general convention for g++ irrespective of build environment. Kind regards, Daniel Schlyder -- http://bitblaze.com/