0

我对 Petalinux 的 2020.2 版本还很陌生,我正在尝试使用 C 模板在我的项目中创建一个简单的应用程序。

使用命令创建 helloworld-app 后:

petalinux-create -t apps --template c --name helloworld-app

启用默认应用程序并成功构建后,我尝试通过在helloworld-app/files下创建一个名为Ethernet的新目录来添加一些功能,其中包含 2 个文件Etherent.cEthernet.h

最后,我将Ethernet.o对象添加到模块自动生成的 Makefile 内的列表中,为简单起见,我还添加了 VPATH。

不幸的是,构建失败了,实际上 bitbake 告诉我没有为对象 Ethernet.o 指定规则。

  1. 如何修改 makefile 以便编译这个简单的代码?
  2. 我可以编辑.bb文件吗?我不想这样做,因为那样我必须指定每个 src 文件......

谢谢你的支持!以太网.c:

#include "Ethernet.h"
//some C code

helloworld-app.c:

#include <stdio.h>
#include "Ethernet/Ethernet.h"

//some C code

生成文件:

APP = helloworld-app

VPATH=Ethernet

# Add any other object files to this list below
APP_OBJS = helloworld-app.o Ethernet.o

all: build

build: $(APP)

$(APP): $(APP_OBJS)
    $(CC) -o $@ $(APP_OBJS) $(LDFLAGS) $(LDLIBS)
clean:
    rm -f $(APP) *.o

下面我包含了petalinux-build -c helloworld-app命令的输出: 在此处输入图像描述

4

1 回答 1

0

一个简单的解决方案,但如果文件数量增加则非常麻烦,就是简单地将源文件的路径添加到 .bb 文件内的变量 SRC_URI 中。我将在没有公认答案的情况下留下这个问题,等待更可持续的解决方案。谢谢大家!

于 2021-03-31T13:39:41.660 回答