找不到 -lEigen3::Eigen
时间: 2024-01-12 07:03:30 浏览: 103
在Ubuntu18.04系统中,如果出现了报错"/usr/bin/ld: 找不到 -lEigen3::Eigen",可以尝试以下两种解决方法:
1. 直接安装Eigen库(版本:3.3.7):使用以下命令来安装Eigen库:sudo apt-get install libeigen3-dev。
2. 在对应的所有报错文件中添加以下头文件:# include <unistd.h> # include <stdio.h> # include <stdlib.h>。
注意:如果你选择了第一种方法,那么你可以直接跳到第3步或第6.2步,而不需要进行第二种方法。
相关问题
/usr/bin/ld: 找不到 -lEigen3::Eigen
根据引用,问题的原因是在链接时找不到名为-lEigen3::Eigen的库。根据引用,这可能是由于在安装glibc-devel、glibc和gcc-c时,只安装了libc.so而没有安装libc.a所导致的。而使用-static选项时,只能使用libc.a库,而不能使用libc.so库,因此会出现找不到libc的错误。为了解决这个问题,可以尝试安装包含libc.a的对应开发包。
此外,根据引用,在配置过程中需要安装cmake、gcc、g和Git工具。因此,还需要确保这些工具已经正确安装。可以通过在终端中运行以下命令进行安装:
sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install gcc
当这些工具都正确安装后,再重新尝试编译链接程序,应该就可以解决找不到-lEigen3::Eigen的问题了。
/usr/bin/ld: 找不到 -lEigen3::Eigen collect2: error: ld returned 1 exit status
引用中提到,/usr/bin/ld: cannot find -lstdc的错误是由于找不到-lstdc库引起的。而引用提供的解决方案是通过创建一个软链接来解决这个问题,即运行命令ln -s /usr/lib/x86_64-linux-gnu/libstdc.so.6 /usr/lib/x86_64-linux-gnu/libstdc.so。这将创建一个软链接将libstdc.so.6链接到libstdc.so。另外,引用提供的信息可能是关于gdb调试的相关内容,并不适用于解决这个特定的错误。
关于你提到的错误"/usr/bin/ld: 找不到 -lEigen3::Eigen collect2: error: ld returned 1 exit status",它指出链接器无法找到名为-lEigen3::Eigen的库。解决这个问题的方法是确保你已经安装了Eigen3库,并且在链接时使用正确的库名称。你可以通过以下步骤来解决这个问题:
1. 确保你已经正确安装了Eigen3库。你可以使用包管理器或从官方网站手动安装。
2. 确认你正在使用正确的库名称。在链接时,使用-l参数指定库的名称,而不是全名。在这种情况下,应该使用-lEigen3而不是-lEigen3::Eigen。确保你在编译命令或Makefile中正确指定了库的名称。
3. 如果你已经安装了Eigen3库,并且仍然遇到这个错误,那么可能是由于库的路径问题。确保库文件所在的路径已经包含在链接器的搜索路径中。可以使用-L参数来指定额外的库路径。