前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【分享】Petalinux编译多个源文件的Linux应用程序的Makefile

【分享】Petalinux编译多个源文件的Linux应用程序的Makefile

作者头像
hankfu
发布2022-03-23 10:16:12
3.3K0
发布2022-03-23 10:16:12
举报
文章被收录于专栏:hank

作者: 付汉杰 hankf@xilinx.com hankf@amd.com 测试环境: PetaLinux 2021.2

在Petalinux创建的应用程序模板,只支持编译一个C文件。

使用下面的文件,可以编译目录下的所有C、C++文件。

代码语言:javascript
复制
APP = qdma-ep-rw

# 
# CC=$(CROSS_COMPILE)gcc
# CXX=$(CROSS_COMPILE)g++

# Common options
CFLAGS= -g -O3 
LIBS = 

# Options for extra libraries
#CFLAGS_OPENCV = `pkg-config opencv --cflags`
#LIBS_OPENCV = `pkg-config opencv --libs`

# Find all C files and create object file list
C_SRC = $(wildcard *.c)
C_OBJ = $(patsubst %c, %o, $(C_SRC))

# Find all Cpp files and create object file list
CPP_SRC = $(wildcard *.cpp)
CPP_OBJ = $(patsubst %cpp, %o, $(CPP_SRC))


# Include directory
INC_PATH=-I. -I./include -I../include

all: build 

build: $(APP)

# Compile C files
.c.o:
	$(CXX) -c $(CFLAGS) $(INC_PATH) -o $@ $< $(LIBS) 

# Compile Cpp files
.cpp.o:
	$(CXX) -c $(CFLAGS) $(INC_PATH) -o $@ $< $(LIBS)


$(APP): $(C_OBJ) $(CPP_OBJ) 
	$(CXX) -o $@ $(C_OBJ) $(CPP_OBJ) $(LDFLAGS) $(LDLIBS)
clean:
	rm -f $(APP) *.o

当使用(CC),也就是(CROSS_COMPILE)gcc,编译C文件时,petalinux报告下列错误。当改为

代码语言:javascript
复制
Command '['aarch64-xilinx-linux-objcopy', '--only-keep-debug', '/proj/hankf/vck190/v212/dapd-0211-xsa-peta/build/tmp/work/cortexa72-cortexa53-xilinx-linux/qdma-ep-rw/1.0-r0/package/usr/bin/qdma-ep-rw', '/proj/hankf/vck190/v212/dapd-0211-xsa-peta/build/tmp/work/cortexa72-cortexa53-xilinx-linux/qdma-ep-rw/1.0-r0/package/usr/bin/.debug/qdma-ep-rw']' returned non-zero exit status 1.
Subprocess output:aarch64-xilinx-linux-objcopy: Unable to recognise the format of the input file `/proj/hankf/vck190/v212/dapd-0211-xsa-peta/build/tmp/work/cortexa72-cortexa53-xilinx-linux/qdma-ep-rw/1.0-r0/package/usr/bin/qdma-ep-rw'

DEBUG: Python function split_and_strip_files finished
DEBUG: Python function do_package finished
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档