取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Visitor
Visitor
696 次查看
注册日期: ‎09-05-2019

petalinux创建用户程序如何添加头文件

�����������

当我使用petalinux-create apps创建了一个用户程序之后,在我的.c文件中include了.h文件。但是在我编译的时候,就会出现找不到头文件的情况,请问我该如何解决?

这是我的报错信息:

Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 6
| aarch64-xilinx-linux-gcc  -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/luffey/petalinux/project/Tapp/build/tmp/work/aarch64-xilinx-linux/vplayer/1.0-r0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/luffey/petalinux/project/Tapp/build/tmp/work/aarch64-xilinx-linux/vplayer/1.0-r0=/usr/src/debug/vplayer/1.0-r0 -fdebug-prefix-map=/home/luffey/petalinux/project/Tapp/build/tmp/work/aarch64-xilinx-linux/vplayer/1.0-r0/recipe-sysroot= -fdebug-prefix-map=/home/luffey/petalinux/project/Tapp/build/tmp/work/aarch64-xilinx-linux/vplayer/1.0-r0/recipe-sysroot-native=    -c -o vplayer.o vplayer.c
| vplayer.c:5:10: fatal error: gst.h: No such file or directory
|  #include "gst.h"
|           ^~~~~~~
| compilation terminated.
| make: *** [<builtin>: vplayer.o] Error 1
| ERROR: oe_runmake failed
| WARNING: /home/luffey/petalinux/project/Tapp/build/tmp/work/aarch64-xilinx-linux/vplayer/1.0-r0/temp/run.do_compile.4956:1 exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at /home/luffey/petalinux/project/Tapp/build/tmp/work/aarch64-xilinx-linux/vplayer/1.0-r0/temp/log.do_compile.4956)

以下是我的头文件:

APP = vplayer
# Add any other object files to this list below
APP_OBJS = vplayer.o

all: build

build: $(APP)

$(APP): $(APP_OBJS)
	$(CC)  $(LDFLAGS) $(INCLUDE) -o $@ $(APP_OBJS) $(LDLIBS)

救救孩子吧!

0 项奖励
1 解答

已接受的解答
Highlighted
Xilinx Employee
Xilinx Employee
510 次查看
注册日期: ‎05-11-2010

回复: petalinux创建用户程序如何添加头文件

�����������

我在sdk 2019.1里面生成A53的linux hello world app,生成hello.elf。

在petalinux 2019.1里面用下面命令生成pre-built app。

petalinux-create -t apps --template install --name hello --enable

删除 <plnx-proj-root>/project-spec/meta-user/recipes-apps/myapp/files/hello

把hello.elf的后缀去掉,拷贝hello到<plnx-proj-root>/project-spec/meta-user/recipes-apps/myapp/files/hello

petalinux-build通过编译,没有错误。

bb文件不需要修改。

在原帖中查看解决方案

0 项奖励
17 回复数
Highlighted
Xilinx Employee
Xilinx Employee
678 次查看
注册日期: ‎05-11-2010

回复: petalinux创建用户程序如何添加头文件

�����������

你是不是贴错头文件了?格式看起来是makefile。

一般来说gst.h是gstreamer库里的头文件,只要你在rootfs里面使能了gstreamer,你就可以在app里面include gst.h。需要注意路径。

如果是你自己写的gst.h,你可以把它放在app路径下的files目录里,然后在app的bb文件里,把gst.h加到SRC_URI里面,注意格式。

app在petalinux工程里的路径大概是./project-spec/meta-user/recipes-app

Highlighted
Visitor
Visitor
661 次查看
注册日期: ‎09-05-2019

回复: petalinux创建用户程序如何添加头文件

�����������
感谢,我尝试一下。但是同时我还有一个问题想问一下您,我直接将编译好的可执行文件放在file里之后,并在.bb文件里的SRC_URI修改好了之后,执行petalinux-build,但是会卡在do_package,说是其中的split_and_strip_file函数出了问题,请问您知道可能的问题是什么吗?
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
611 次查看
注册日期: ‎05-11-2010

回复: petalinux创建用户程序如何添加头文件

�����������

你可以参考UG1144里面Including Prebuilt Applications这一章节。

0 项奖励
Highlighted
Visitor
Visitor
585 次查看
注册日期: ‎09-05-2019

回复: petalinux创建用户程序如何添加头文件

�����������
我看了好多遍,但是这个问题没有提到。在文档上也只是说了要将编译好的程序放进去,修改.bb文件,然后就petalinux-build 了……
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
583 次查看
注册日期: ‎05-11-2010

回复: petalinux创建用户程序如何添加头文件

�����������

里面没说要修改bb文件

0 项奖励
Highlighted
Visitor
Visitor
581 次查看
注册日期: ‎09-05-2019

回复: petalinux创建用户程序如何添加头文件

�����������
不好意思,我记错了,如果直接放应用程序是不用修改的,但是我不修改的时候,一样会报这个错……暴风螺旋哭泣
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
574 次查看
注册日期: ‎05-11-2010

回复: petalinux创建用户程序如何添加头文件

�����������

你先用sdk做一个hello world linuxapp,生成elf镜像加进去试试。

0 项奖励
Highlighted
Visitor
Visitor
549 次查看
注册日期: ‎09-05-2019

回复: petalinux创建用户程序如何添加头文件

�����������
如果将生成的.elf文件放入files会提示Architecture did not match (ARM, expected AArch64)
修改.bb文件,将SRC_URI中修改成.elf,会提示install: cannot stat '/home/luffey/petalinux/project/hello/build/tmp/work/aarch64-xilinx-linux/hello/1.0-r0/hello': No such file or directory
修改.bb文件的do_install,将hello修改成hello.elf,就又会报错Architecture did not match (ARM, expected AArch64)
绝望.jpg
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
531 次查看
注册日期: ‎05-11-2010

回复: petalinux创建用户程序如何添加头文件

�����������
0 项奖励
Highlighted
Visitor
Visitor
529 次查看
注册日期: ‎09-05-2019

回复: petalinux创建用户程序如何添加头文件

�����������
……报错: unparsed line: 'TARGET_CC_ARCH + = "$ {LDFLAGS}
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
528 次查看
注册日期: ‎05-11-2010

回复: petalinux创建用户程序如何添加头文件

�����������

你的petalinux是什么版本的?

0 项奖励
Highlighted
Visitor
Visitor
525 次查看
注册日期: ‎09-05-2019

回复: petalinux创建用户程序如何添加头文件

�����������
2019.1
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
511 次查看
注册日期: ‎05-11-2010

回复: petalinux创建用户程序如何添加头文件

�����������

我在sdk 2019.1里面生成A53的linux hello world app,生成hello.elf。

在petalinux 2019.1里面用下面命令生成pre-built app。

petalinux-create -t apps --template install --name hello --enable

删除 <plnx-proj-root>/project-spec/meta-user/recipes-apps/myapp/files/hello

把hello.elf的后缀去掉,拷贝hello到<plnx-proj-root>/project-spec/meta-user/recipes-apps/myapp/files/hello

petalinux-build通过编译,没有错误。

bb文件不需要修改。

在原帖中查看解决方案

0 项奖励
Highlighted
Visitor
Visitor
490 次查看
注册日期: ‎09-05-2019

回复: petalinux创建用户程序如何添加头文件

�����������
老哥牛逼啊,我做了一下,也可以了,应该是我自己直接在电脑上make出来的跟用SDK生成的格式不一样,我之前用sdk的时候选择OS选择错了,选的standalone,所以petalinux-build的时候会报错。我现在在尝试怎么能找到libgstreamer.so的ARM版本,电脑里安装的是x86版本。
0 项奖励
Highlighted
Visitor
Visitor
457 次查看
注册日期: ‎09-05-2019

回复: petalinux创建用户程序如何添加头文件

�����������
您好,我还有个问题想问您一下,就是您说的将rootfs里面使能gstreamer,这样就可以使用gst的头文件了。您能跟我说下如何在rootfs里面使能gstreamer吗?我使能了,但是仍然会找不到头文件,我不知道是不是自己的做法错了。同时还想请问您一下,就是可以使能glib吗?因为我的程序里面也需要用到这个库。期待并十分感谢您的回答!
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
427 次查看
注册日期: ‎05-11-2010

回复: petalinux创建用户程序如何添加头文件

�����������

你在“petalinux-config -c rootfs"的menuconfig里面能搜到gstreamer的位置,使能之后,我在app里面是这样include的。

#include <gst/gst.h>

0 项奖励
Highlighted
Visitor
Visitor
423 次查看
注册日期: ‎09-05-2019

回复: petalinux创建用户程序如何添加头文件

�����������
是在filesystem packages下的multimedia底下的gstreamer吗?我把那底下的所有有关gstreamer的使能了都不行,我还使能了petalinux packages groups里有关gstreamer的,但是我在.c的代码里加上#include<gst/gst.h>依然会报错,说是找不到这个文件?我是还有什么别的没有设置吗?求救
0 项奖励