在机器1上编译的C ++代码无法在机器2上运行,因为“未找到GLIBCXX_3.4.15”

时间:2013-10-25 17:28:33

标签: c++ compilation

使用g ++在机器1上编译代码。

有没有办法在机器1上编译,以便它在机器2上运行?无需在机器2上触摸/更新任何内容?我无法访问机器2 ......

3 个答案:

答案 0 :(得分:1)

我认为您希望在GCC 4.5之后静态链接libstdc++ 你可以这样做

    g++ -static-libstdc++ compiler  -o myprogram myprogram.cpp

然后你可以将它分发给机器2。

答案 1 :(得分:0)

您可以使用与机器2相同的操作系统版本运行虚拟机(如VirtualBox),并使用该机器编译所有内容以确保所有内容(所有库等)都兼容。

答案 2 :(得分:-1)

这意味着找不到libstdc++库。

检查机器2上的动态依赖关系并确定相关库的路径:

ldd myprogram

任何缺少的库都会显示为“not found。”您需要安装缺少的软件包。