OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 394|回复: 1

Linux环境中如何为lvgl工程添加用户文件?

[复制链接]

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2023-6-8
在线时间
28 小时
发表于 2024-9-17 15:20:03 | 显示全部楼层 |阅读模式
2金钱
例如我现在有一个LVGL V8.2的工程,已经移植完毕。可以编译并在板子上跑出官方历程。但是怎么给项目添加自己的文件呢?毕竟不能再mian.c中直接写上几百行程序代码吧。加入我在工程文件夹下新建了一个ui的文件夹,向其中添加了一个userUI.c userUI.h文件。如何在工程的main.c中引用这个文件?
我尝试直接添加之后,由于Makefile没有修改,所以无法编译通过。所以问题在于如何修改makefile让程序通过编译.




Snipaste_2024-09-17_15-17-36.png
微信图片_20240917151642.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2016-11-22
在线时间
59 小时
发表于 2024-9-25 10:32:07 | 显示全部楼层
这是我的makefile,可以参考一下
#
# Makefile
#
CC = arm-linux-gnueabihf-gcc
LVGL_DIR_NAME ?= lvgl
LVGL_DIR ?= .#${shell pwd}
BUILD_DIR := ./build

CFLAGS ?= -O3 -g0 -I$(LVGL_DIR)/ -I /home/wangsuwei/linux/tool/tslib/include/ -I /home/wangsuwei/linux/tool/mjpeg/include#-Wall -Wshadow -Wundef -Wmissing-prototypes -Wno-discarded-qualifiers -Wall -Wextra -Wno-unused-function -Wno-error=strict-prototypes -Wpointer-arith -fno-strict-aliasing -Wno-error=cpp -Wuninitialized -Wmaybe-uninitialized -Wno-unused-parameter -Wno-missing-field-initializers -Wtype-limits -Wsizeof-pointer-memaccess -Wno-format-nonliteral -Wno-cast-qual -Wunreachable-code -Wno-switch-default -Wreturn-type -Wmultichar -Wformat-security -Wno-ignored-qualifiers -Wno-error=pedantic -Wno-sign-compare -Wno-error=missing-prototypes -Wdouble-promotion -Wclobbered -Wdeprecated -Wempty-body -Wtype-limits -Wshift-negative-value -Wstack-usage=2048 -Wno-unused-value -Wno-unused-parameter -Wno-missing-field-initializers -Wuninitialized -Wmaybe-uninitialized -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wtype-limits -Wsizeof-pointer-memaccess -Wno-format-nonliteral -Wpointer-arith -Wno-cast-qual -Wmissing-prototypes -Wunreachable-code -Wno-switch-default -Wreturn-type -Wmultichar -Wno-discarded-qualifiers -Wformat-security -Wno-ignored-qualifiers -Wno-sign-compare
LDFLAGS ?= -lpthread -ljpeg -lm -lts -L /home/wangsuwei/linux/tool/tslib/lib/ -L /home/wangsuwei/linux/tool/mjpeg/lib/
BIN = demo


#Collect the files to compile
MAINSRC = ./main.c

include $(LVGL_DIR)/lvgl/lvgl.mk
include $(LVGL_DIR)/lv_drivers/lv_drivers.mk

VPATH += (LVGL_DIR)/ui
VPATH += (LVGL_DIR)/ui/images
VPATH += (LVGL_DIR)/ui/fonts
VPATH += (LVGL_DIR)/app


CFLAGS += -I$(CURDIR)/ui
CFLAGS += -I$(CURDIR)/ui/images
CFLAGS += -I$(CURDIR)/ui/fonts
CFLAGS += -I$(CURDIR)/app

UI_CSRCS += $(wildcard ui/*.c)
UI_CSRCS += $(wildcard ui/images/*.c)
UI_CSRCS += $(wildcard ui/fonts/*.c)
UI_CSRCS += $(wildcard app/*.c)

CSRCS += $(UI_CSRCS)
UI_OBJS := $(UI_CSRCS:.c=.o)
OBJS += $(UI_OBJS)
#CSRCS +=$(LVGL_DIR)/mouse_cursor_icon.c

OBJEXT ?= .o

AOBJS = $(ASRCS:.S=$(OBJEXT))
COBJS = $(CSRCS:.c=$(OBJEXT))

MAINOBJ = $(MAINSRC:.c=$(OBJEXT))

SRCS = $(ASRCS) $(CSRCS) $(MAINSRC)
OBJS = $(AOBJS) $(COBJS)

## MAINOBJ -> OBJFILES
       
all: default

%.o: %.c
        @$(CC)  $(CFLAGS) -c $< -std=c99 -o $@
        @echo "CC $<"

$(BUILD_DIR):
        mkdir -p $@

default: $(AOBJS) $(COBJS) $(MAINOBJ)
        $(CC) -o $(BIN) $(MAINOBJ) $(AOBJS) $(COBJS) $(LDFLAGS)

clean:
        rm -f $(BIN) $(AOBJS) $(COBJS) $(MAINOBJ)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表