我使用gsl。 编译完.cpp文件并运行后,我面临以下错误:
加载共享库时出现错误:libgsl.so.0:无法打开共享对象文件:没有这样的文件或目录
我在以下问题中发现了同样的问题: https://groups.google.com/forum/#!topic/cortex_var/6vluX7pP0Sk &安培; Linux error while loading shared libraries: cannot open shared object file: No such file or directory &安培; http://www.gnu.org/software/gsl/manual/html_node/Shared-Libraries.html
我已经按照上面的链接写了但是错误仍然存在。 任何人都可以帮助我吗?
答案 0 :(得分:11)
要使其正常工作,请执行以下步骤
启动Borne Shell
$LD_LIBRARY_PATH= path to your gsl lib folder inside the gsl installation folder
$export LD_LIBRARY_PATH
现在运行您的可执行文件
它应该可以正常工作。
答案 1 :(得分:5)
我在Arch Linux上遇到与Krita相同的错误。我用
创建了一个符号链接ln /usr/lib/libgsl.so /usr/lib/libgsl.so.0
并修复了它。
答案 2 :(得分:5)
首先,您需要找到该文件(libgsl.so.0)。例如,您可以使用find
命令执行此操作:
sudo find / -name "libgsl.so.0"
我们假设,该文件位于/usr/local/lib
。
(如果找不到该文件,请安装相应的软件包或下载源代码,构建并安装它。)
现在,您有两种选择:
(1)快速&脏:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
这会将库的路径添加到环境变量中。此选项的缺点是,它仅对当前会话有效。它不适用于其他用户。一旦您注销并重新开启,它将无法工作。
(2)永久:
查看您的/etc/ld.so.conf
。如果未列出/usr/local/lib
,请添加它。现在,运行ldconfig
来检测共享对象文件并将其添加到某个系统范围的索引中。
答案 3 :(得分:5)
根据我的经验, fastStructure 取决于 gsl 1.6 ,但不是最新版本。
wget http://gnu.mirror.vexxhost.com/gsl/gsl-1.6.tar.gz
tar -zxvf gsl-1.6.tar.gz
cd gsl-1.16
./configure
make
sudo make install
将这些行添加到主目录中的.bashrc
文件中。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export CFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib"
然后,运行source~ / .bashrc来设置这些环境变量。
当我将版本从最新版本更改为1.6版本时,它可以正常工作。
答案 4 :(得分:1)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/shg047/software/gsl/lib/
如:to-mr:加载共享库时出错:libgsl.so.19:无法打开共享对象文件:没有这样的文件或目录
答案 5 :(得分:1)
您是否尝试过更新图书馆?我试图运行的程序只需要一个更新版本的gsl(我有1.9.5而它需要2.0.0或更新版本。)
如果你在拱门,你可以运行:
yaourt gsl
并选择合适的一个。
答案 6 :(得分:1)
您可以在makefile中使用gsl-config --libs
,也可以在链接gsl库时在命令行中使用gsl-config
。只需输入gsl-config --libs
,您就可以找到它为您提供的选项。选择您需要的选项,您会发现编译和链接过程比以前容易得多。因此,当我在终端中输入-L/usr/local/lib -lgsl -lgslcblas -lm
时,我会得到PATH
。虽然它非常简单,但首先您应该知道gsl的安装位置。您可以将目录添加到gsl-config
环境变量,或使用绝对路径执行.container {
height: 100px;
width: 100%;
background-color: green;
}
.rise {
display: inline-block;
height: 0;
width: 0;
background-color: red;
}
.container:hover .rise {
animation: example 0.5s ease 1s forwards;
-webkit-animation: example 0.5s ease 1s forwards;
-o-animation: example 0.5s ease 1s forwards;
-moz-animation: example 0.5s ease 1s forwards;
}
.container:hover .rise:nth-child(2) {
animation: example 0.5s ease 2s forwards;
-webkit-animation: example 0.5s ease 2s forwards;
-o-animation: example 0.5s ease 2s forwards;
-moz-animation: example 0.5s ease 2s forwards;
}
.container:hover .rise:nth-child(3) {
animation: example 0.5s ease 1s forwards;
-webkit-animation: example 0.5s ease 3s forwards;
-o-animation: example 0.5s ease 3s forwards;
-moz-animation: example 0.5s ease 3s forwards;
}
@keyframes example {
0% {
height: 100px;
width: 0;
}
100% {
height: 100px;
width: 100px;
}
}
。
答案 7 :(得分:0)
我需要libgsl.so.19
:
/snap/inkscape/current/bin/inkscape: error while loading shared libraries: libgsl.so.19: cannot open shared object file: No such file or directory
我用以下方法解决了它:
libgsl.so.19
,并在〜/ anaconda3 / lib中找到了它LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/anaconda3/lib
(最佳add it to ~/.basrc)