Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ bjam运行时链接=静态_C++_Boost_Linker_Bjam - Fatal编程技术网

C++ bjam运行时链接=静态

C++ bjam运行时链接=静态,c++,boost,linker,bjam,C++,Boost,Linker,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-

我试图以这样一种方式编译: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时,它们不会出现。
请告知?

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

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

为您的构建变体添加cxxflags。

bjam没有给您实际失败的命令吗?如果可以使用bjam-d+2同时运行这两个命令,那么就可以比较bjam正在执行的链接器命令,并从中找出问题所在。