/usr/bin/ld: cannot find -lEigen3::Eigen collect2: error: ld returned 1 exit status
时间: 2023-10-21 14:28:15 浏览: 221
darknet /usr/bin/ld: cannot find -lcuda
当编译32位可执行程序时,出现"/usr/bin/ld: cannot find -lEigen3::Eigen collect2: error: ld returned 1 exit status"的错误提示。这个错误提示表明链接器无法找到名为-lEigen3::Eigen的库。解决该问题的方法如下:
1. 首先,确认你已经正确地安装了Eigen库。如果没有安装,请按照以下步骤安装Eigen库:
a. 下载Eigen库的源代码并解压缩。
b. 在解压后的目录中创建一个build目录,并进入该目录。
c. 在build目录中运行cmake命令来生成Makefile。
d. 运行make命令来编译Eigen库。
e. 最后,运行make install命令来安装Eigen库。
2. 确保你的编译命令中正确地指定了Eigen库的路径和名称。你可以使用-I选项指定头文件路径,-L选项指定库文件路径,-l选项指定库的名称。确保这些选项中的路径和名称与你的系统上的实际情况一致。
3. 如果你已经正确地指定了路径和名称,但仍然出现错误提示,那么可能是因为链接器无法正确地解析库名称中的冒号字符(::)。为了解决这个问题,你可以尝试将库名称中的冒号字符替换为下划线字符(_),例如将-lEigen3::Eigen替换为-lEigen3_Eigen。
通过以上步骤,你应该能够解决"/usr/bin/ld: cannot find -lEigen3::Eigen collect2: error: ld returned 1 exit status"的错误提示,并成功编译32位可执行程序。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文