加载共享库时出错:libgomp.so.1:错误的GCC版本?

Wil*_*amS 5 c++ gcc c-libraries

执行第三方c ++程序时,我收到以下错误:

加载共享库时出错:libgomp.so.1:无法打开共享对象文件:没有这样的文件或目录

libgomp.so.1库是GNU编译器集合OpenMP运行时库.

这是GCC包的一部分吗?我可以在一个使用gcc-4.5的系统上运行该程序,但不能在gcc-4.3或gcc-4.6的系统上运行.

或者我需要安装另一个包吗?

我尝试通过下载库并将其放在LD_LIBRARY_PATH上在gcc-4.3系统上手动修复此问题,但后来我得到了另一个丢失的库:/usr/lib/libstdc++.so.6:版本`GLIBCXX_3.4.11'没有发现.libstdc是GNU标准C++库,所以这也表明GCC的版本错误?

我不是C++开发人员,所以我不完全知道这些库是什么以及库如何与C++代码一起工作.

os是linux 64位.

gcc-4.3机器:openSUSE 11.1

gcc-4.5机器:openSUSE 11.4(在这台机器上程序可以工作)

gcc-4.6机器:openSUSE 12.1

Mic*_*rny 4

该程序与特定版本的 libgomp ( ) 链接libgomp.so.1,并且只能由该版本使用。所以你必须:

  1. 获取应用程序的源代码并为您的系统自行编译,
  2. 获取针对较新版本的 gcc 编译的应用程序的另一个版本,
  3. 获取应用程序的静态链接版本,
  4. 如果您的发行版支持,请并行安装旧版本的 libgomp,
  5. 如果没有,您仍然可以获取旧的 libgomp 二进制文件并将其放入您的/usr/lib(最好是,/usr/local/lib如果该路径在您的 中/etc/ld.so.conf),
  6. 最后,如果可能的话,您可以将 gcc 降级到旧版本以使其正常工作。但这是一个糟糕的、短期的解决方案。