bjam runtime-link = static

时间:2011-03-18 13:12:31

标签: c++ boost linker bjam boost-bjam

我试图以某种方式编译,以便exec静态链接到gcc。我认为运行bjam link=static runtime-link=static应该做什么? 当我尝试时,我得到以下错误:

...failed gcc.link TGT/bin/gcc-4.5.1/debug/link-static/runtime-link-static/datagen...
gcc.compile.c++ TGT/bin/gcc-4.5.1/release/link-static/runtime-link-static/base_data_gen.o
gcc.link TGT/bin/gcc-4.5.1/release/link-static/runtime-link-static/datagen
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status

当我运行bjam link=static时,这些不会出现。 请指教?

1 个答案:

答案 0 :(得分:0)

我相信libstdc ++故意不是静态链接的。这样做被许多人认为是危险的(虽然我没有真正听到一个很好的理由)。我不认为你可以添加一个简单的标志。对于gcc工具集,您可以添加类似

的内容
-static-libgcc  -Wl,-Bstatic -lstdc++

为您的构建版本的cxxflags。