我目前正在使用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位于其中一个指定的文件夹中。
有人能给我一个暗示我可能做错的事吗?
答案 0 :(得分:0)
检查您的环境变量。如果您的LIBRARY_PATH,LD_LIBRARY_PATH或类似的vars已经不同步或设置为愚蠢的值,那么您可能不会像动态一样搜索静态库的相同目录。
另请查看ld.so联机帮助页