# the static library c # # c.cpp looks like this: # int __declspec(dllexport) test() # { # return 9; # } lib c : c.cpp : static ; # the shared library lib a : c : shared ; # test executable # main.cpp looks like this: # # int __declspec(dllimport) test(); # # int main() # { # test(); # return 0; # } exe test : main.cpp a ; #E:\Projects\test>bjam --toolset=gcc #...found 16 targets... #...updating 9 targets... #MkDir1 bin\gcc-mingw-3.4.5\debug #MkDir1 bin\gcc-mingw-3.4.5\debug\link-static #gcc.compile.c++ bin\gcc-mingw-3.4.5\debug\link-static\c.o #gcc.archive bin\gcc-mingw-3.4.5\debug\link-static\libc.lib #gcc.link.dll bin\gcc-mingw-3.4.5\debug\a.lib #Creating library file: bin\gcc-mingw-3.4.5\debug\a.lib #gcc.compile.c++ bin\gcc-mingw-3.4.5\debug\main.o #gcc.link bin\gcc-mingw-3.4.5\debug\test.exe #bin\gcc-mingw-3.4.5\debug\main.o: In function `main': #E:/Projects/test/main.cpp:5: undefined reference to `_imp___Z4testv' #collect2: ld returned 1 exit status # # "g++" -Wl,-R -Wl,"E:\Projects\test\bin\gcc-mingw-3.4.5\debug" -Wl,-rpath-li #nk -Wl,"E:\Projects\test\bin\gcc-mingw-3.4.5\debug" -o "bin\gcc-mingw-3.4.5\debu #g\test.exe" -Wl,--start-group "bin\gcc-mingw-3.4.5\debug\main.o" "bin\gcc-mingw- #3.4.5\debug\a.lib" -Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -g # # #...failed gcc.link bin\gcc-mingw-3.4.5\debug\test.exe... #...failed updating 1 target... #...updated 8 targets... # #E:\Projects\test>