[software development] 【C问题贴】deepin_IDE 编译提示没有规则可制作目标“Makefile”
Tofloor
poster avatar
150******13
deepin
2024-03-12 22:23
Author

用deepin IDE编译一个c语言工程的时候 ,提示没有可用的目标makefile , 谁知道怎么解决啊 ……

21:52:03: 开始在工作区/media/wft/新加卷/deepin/build-lv_port_pc_eclipse-mastelDesktop-Debug中执行/usr/bin/cmake --build .--target all命令
make: Makefile: 没有那个文件或目录

make:*** 没有规则可制作目标“Makefile”。 停止

进程/usr/bin/cmake退出,代码为2。

image.png

Reply Favorite View the author
All Replies
deepin
2024-03-13 00:42
#1

make: Makefile: 没有那个文件或目录

Reply View the author
deepin
2024-03-13 00:46
#2

1.检查源代码文件c语言代码,看其#include或头文件是否导入正确;

2.检查项目是否有Makefile的生成。

Reply View the author
kero990
deepin
2024-03-13 09:14
#3

Makefile是cmake工程生成的,你要找找cmake报错的信息,cmake报错是不会生成Makefile的

cmake报错一般都是依赖包不足,先看看项目的说明,要先安装哪些依赖包

Reply View the author
Ziggy
deepin
2024-03-13 09:48
#4

可以试试在外部手动cmake一次看看是否代码有不兼容的地方

Reply View the author
kero990
deepin
2024-03-13 13:35
#5

我找到了你说的这个项目,有两点要注意的

一个是项目有子模块,git克隆的时候要注意克隆完全,下载zip源码包一般是不带子模块的,要重新下载。

这个项目只有一个,确认lvgl目录不为空,一般就是有子模块了

而是要装依赖包,说明里其实都写了,cmake不成功一般都是依赖没装

而且这个项目要求先导入模拟器项目再编译。

以下是项目本身的编译说明,不知道你认真看过没有。

Get started 开始

[](https://github.com/lvgl/lv_port_pc_eclipse#get-started)

Install Packages 安装软件包

[](https://github.com/lvgl/lv_port_pc_eclipse#install-packages)

On Linux you can easiyl install it the requirements via terminal:在Linux上,您可以通过终端按要求安装它:

sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev libsdl2-image-dev libjpeg-dev libpng-dev

Or you can download SDL from https://www.libsdl.org/.或者您可以从https://www.libsdl.org/下载SDL。

Get this project 得到这个项目

[](https://github.com/lvgl/lv_port_pc_eclipse#get-this-project)

Clone this repository and the related submodules to the workspace folder of Eclipse:将这个仓库和相关的子模块克隆到Eclipse的workspace文件夹中:

git clone --recursive https://github.com/lvgl/lv_port_pc_eclipse

Import the PC simulator project导入PC模拟器项目

[](https://github.com/lvgl/lv_port_pc_eclipse#import-the-pc-simulator-project)

  1. Open Eclipse CDT 开放Eclipse CDT
  2. Click File->Import and choose General->Existing project into Workspace点击File->Import,然后选择General->Existing project into Workspace
  3. Browse the root directory of the project and click Finish浏览项目的根目录并单击Finish
  4. Build your project and run it构建并运行项目

This configures in this project, but if you start a new Eclipse project due to an Eclipse bug you need modify the Assembler command:这在这个项目中配置,但是如果你因为Eclipse bug而启动一个新的Eclipse项目,你需要修改Assembler命令:

  1. In Project properties -> C/C++ build -> Settings -> Cross GCC Assembler -> Command: change as to gcc在项目属性-> C/C++构建->设置->跨GCC汇编程序->命令:将 as 更改为 gcc
  2. On the same place: Cross GCC Assembler -> General -> Assembler flags: add -c在同一个地方:Cross GCC Assembler -> General -> Assembler flags:add -c

CMake

[](https://github.com/lvgl/lv_port_pc_eclipse#cmake)

The following steps can be used with CMake on a Unix-like system. This may also work on other OSes but has not been tested.以下步骤可以在类Unix系统上使用CMake。这可能也适用于其他操作系统,但尚未经过测试。

  1. Ensure CMake is installed, i.e. the cmake command works on the terminal.确保安装了CMake,即 cmake 命令在终端上工作。
  2. Make a new directory. The name doesn't matter but build will be used for this tutorial.创建一个新目录。名称无关紧要,但本教程将使用 build 。
  3. Type cd build. 键入 cd build 。
  4. Type cmake ... CMake will generate the appropriate build files.键入 cmake .. 。CMake将生成适当的构建文件。
    • To build with SDL draw unit, add -DLV_USE_DRAW_SDL=ON to command line要使用SDL绘图单元构建,请在命令行中添加 -DLV_USE_DRAW_SDL=ON
    • To build with libpng to support PNG image, add -DLV_USE_LIBPNG=ON to command line要使用libpng构建以支持PNG图像,请在命令行中添加 -DLV_USE_LIBPNG=ON
    • To build with libjpeg-turbo to support JPEG image, add -DLV_USE_LIBJPEG_TURBO=ON to command line要使用libjpeg-turbo构建以支持JPEG图像,请在命令行中添加 -DLV_USE_LIBJPEG_TURBO=ON
  5. Type make -j or (more portable) cmake --build . --parallel.键入 make -j 或(更便携) cmake --build . --parallel 。

NOTE: --parallel is supported from CMake v3.12 onwards. If you are using an older version of CMake, remove --parallel from the command or use the make option.注意:从CMake v3.12开始支持 --parallel 。如果您使用的是旧版本的CMake,请从命令中删除 --parallel 或使用make选项。

  1. The binary will be in ../bin/main, and can be run by typing that command.二进制文件将在 ../bin/main 中,并且可以通过键入该命令来运行。
Reply View the author