linux系统:make: *** No rule to make target `install'. Stop.

出现标题所示的错误代码是因为在Linux安装软件总没有在Windows系统下安装软件那么容易,不同的软件包安装的方式也不同,这是缺少依赖包的原因,解决方法如下

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel nss_ldap openldap openldap-devel  openldap-clients openldap-servers libxslt-devel libevent-devel ntp  libtool-ltdl bison libtool vim-enhanced  
### 解析 `no rule to make target` 错误 当遇到 `*** No rule to make target '../Thirdparty/g2o/lib/libg2o.so', needed by '../lib/libygz-SLAM.so'。 停止。` 这样的错误提示时,表明构建系统无法找到指定的目标文件或路径不正确[^1]。 #### 可能的原因分析 - **路径配置问题**:可能是由于Makefile中的路径设置有误,导致找不到所需的库文件。 - **依赖未满足**:某些必要的依赖项可能尚未安装完成,特别是对于第三方库如g2o而言。 - **编译顺序不当**:有时子模块需要先于主项目被成功编译并链接到最终产物中去。 #### 解决方案建议 为了有效解决问题,可以尝试以下几种方法: 1. 单独编译g2o库: - 更新所需依赖包 ```bash sudo apt-get update && sudo apt-get install libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.4 libcholmod3.0.6 ``` - 下载源码并创建build目录进行本地化编译 ```bash cd SLAM_Lib/ git clone https://github.com/RainerKuemmerle/g2o.git cd g2o/ mkdir build && cd build cmake .. make -j$(nproc) sudo make install ``` 2. 检查环境变量与CMakeLists.txt配置: - 确认LD_LIBRARY_PATH包含了新安装的g2o共享库的位置。 - 修改项目的CMakeLists.txt文件来显式指明外部库的具体位置。 3. 清理缓存重新开始: - 使用命令清理之前的构建残留物后再试一次完整的编译流程。 ```bash rm -rf ../Thirdparty/g2o/build/* cd /path/to/project_root_directory rm -r CMakeFiles/ CMakeCache.txt cmake . make clean; make all ``` 通过上述措施应该能够解决大部分由路径缺失引起的`no rule to make target`类型的错误情况。
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jaystrong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值