ld:成功链接执行后找不到共享库

时间:2012-03-01 15:40:03

标签: runtime shared-libraries ld file-not-found

我目前正在使用OpenMPI库,在Fortran和C / C ++的混合体中开发一个简单的数据同步器。正如我所见,同步器正确编译和链接:

f95 -o fortran_mpi_test *.o -L/usr/lib/gcc/x86_64-redhat-linux/4.1.1/ 
    -L/usr/lib64/openmpi/1.4-gcc/lib/ -lmpi -lmpi_cxx -lstdc++

但是当我在同一个机器上执行生成的可执行文件时,我得到一个错误,指出找不到其中一个共享库。这已得到ldd的证实。 然而,缺少的库libmpi_cxx.so.0位于其中一个指定的文件夹中。

有人能给我一个暗示我可能做错的事吗?

1 个答案:

答案 0 :(得分:0)

检查您的环境变量。如果您的LIBRARY_PATH,LD_LIBRARY_PATH或类似的vars已经不同步或设置为愚蠢的值,那么您可能不会像动态一样搜索静态库的相同目录。

另请查看ld.so联机帮助页