1

我正在尝试以使 execgcc静态链接到的方式进行编译。我认为跑步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。请指教 ?

4

1 回答 1

0

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

-static-libgcc  -Wl,-Bstatic -lstdc++

到您的 cxxflags 为您的构建变体。

于 2011-03-23T02:11:31.893 回答