尝试在旧计算机上使用新的LibstDC 会导致错误
Trying to use a new libstdc++ on an old machine causes error
我有一个我在机器A上使用cmake编译的程序,但我想在较旧的机器上运行它。当我这样做时,我会得到以下内容:
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./program)
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./program)
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./program)
我已经看到了这个问题,我认为解决问题的最佳方法是将较新版本复制到MachineB。因此,我将/usr/lib/libstdc++.so.6
(和libstdc++.so.6.0.14
)从A上复制到B上的~/lib
,并做到了
export LD_LIBRARY_PATH=~/lib:$LD_LIBRARY_PATH
之后。启动程序时,我现在得到
Floating point exception
我该怎么做才能使它起作用?
时,您需要在较旧的系统上具有较新的libstdc++.so.6
,并告诉动态链接器如何找到它。
查看如何确保将找到动态链接的库?在LIBSTDC 常见问题中,并在手册中查找动态或共享库,以获取如何确保找到它的详细信息,并提供多个选项。LD_LIBRARY_PATH
只是其中之一。
浮点异常不应与libstdc 相关,您需要使用调试器来查找来自何处并获取更多详细信息。
相关文章:
- 警告处理为错误这里有什么问题
- 需要libstdc so.6(glibcxx_3.4.21)(64位)(CentOS 7错误)
- "pair::operator=(pair&&)"错误,"auto&"推断出移动操作 - libstdc++ 回归?
- libstdc++已弃用;移动到libc++[-Wdeprecated],但是更改会产生编译错误
- libstdc++ 错误:未找到'GLIBCXX_3.4.22'
- 尝试在旧计算机上使用新的LibstDC 会导致错误
- cc1plus:错误:使用 HXCPP "-stdlib=libstdc++"无法识别的命令行选项
- 我有libstdc++6-dev,但仍然有stl链接错误
- 当我尝试在 Ubuntu bash 中运行我的程序时,出现此错误:" /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21
- libstdc++ 中关于 std::list 赋值的错误
- 与使用 GCC 3.4.6 (libstdc++.so.6.0.13) 生成的 gmock 库链接会产生"undefined reference to... @GLIBCXX_3.4.9"错误
- libstdc++中出现奇怪的符号查找错误
- 我的“交换”过载应该被使用吗?这是一个libstdc++(GCC)错误吗
- 在 C++14 模式下为 libstdc++ 编译 clang 正则表达式程序会导致错误
- 为什么 valgrind 为 libstdc++ 的 std::locale 报告错误?
- std::bind 在 libstdc++ 中产生编译错误
- libstdc++.so.6的重新定位错误
- 由于libstdc++导致的错误
- 在动态链接库libstdc++-6.dll中找不到过程入口点_gxx_personality_v0.错误
- libstdc++ GLIBCXX版本错误