18.04 make: *** No targets specified and no makefile found. Stop.
时间: 2025-06-10 13:28:36 浏览: 22
### 解决方案
当在 Ubuntu 18.04 上运行 `make` 命令时遇到 `'No targets specified and no makefile found'` 错误,通常是因为当前目录下缺少有效的 Makefile 或者未指定构建目标。以下是可能的原因以及解决方案:
#### 可能原因分析
1. **Makefile 缺失**:如果没有生成 Makefile,则无法执行 `make` 命令。
2. **路径错误**:当前工作目录不是应该执行 `make` 的目录。
3. **CMake 配置失败**:如果使用 CMake 构建项目,在配置阶段出现问题可能导致未能生成 Makefile。
---
#### 解决方法
##### 方法一:确认当前目录是否有 Makefile
检查当前目录是否存在名为 `Makefile` 的文件:
```bash
ls -l | grep Makefile
```
如果没有发现该文件,则需要重新生成它。
##### 方法二:重新生成 Makefile 使用 CMake
对于 OpenCV 等依赖于 CMake 的项目,可以按照以下步骤操作:
1. 创建一个新的构建目录(如果尚未完成此步),进入该项目源码根目录后执行命令:
```bash
mkdir build && cd build
```
2. 调用 CMake 工具来生成 Makefile:
```bash
cmake ..
```
如果需要图形化界面支持,可安装并启动 CMake GUI[^4]:
```bash
sudo apt-get install cmake-qt-gui
cmake-gui .
```
3. 执行 `make` 操作前确保无任何警告或错误提示;若有问题需修正后再继续下一步骤。
##### 方法三:验证环境变量设置正确与否
某些情况下可能是由于系统库缺失引起编译器找不到必要的头文件或者链接库而中断过程。例如之前提到过的关于 `libjasper-dev` 库的问题可以通过下面方式解决[^1]:
```bash
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
```
最后再次尝试调用 `cmake ..` 和随后的 `make` 步骤看是否能够正常进行下去。
---
### 总结
通过上述三种途径之一即可有效处理因缺乏合适的目标定义所引发的相关错误情况。“No targets specified and no makefile found”的核心在于保证存在合法可用的Makefile文档供后续指令参照执行。
```python
print("Error resolved by ensuring proper generation of the Makefile.")
```
阅读全文
相关推荐










