欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

deepstream5.0 deepstream-test1四类别pipeline检测器-makefile转为Qt Creator工程编译(二)

程序员文章站 2022-05-04 12:36:32
为什么要转qt工程配置:方便调试,工程集成。1、qmake生成qt工程参考文章:makefile与.pro转换。qmake -project工程目录下生成deepstream-test1.pro文件,打开:TEMPLATE = appTARGET = deepstream-test1INCLUDEPATH += .DEFINES += QT_DEPRECATED_WARNINGSSOURCES += deepstream_test1_app.c默认为我们添加当前目...

为什么要转qt工程配置:方便调试,工程集成

1、qmake生成qt工程

参考文章:makefile与.pro转换

qmake -project

工程目录下生成deepstream-test1.pro文件,打开:

TEMPLATE = app
TARGET = deepstream-test1
INCLUDEPATH += .

DEFINES += QT_DEPRECATED_WARNINGS

SOURCES += deepstream_test1_app.c

默认为我们添加当前目录进include,添加当前工程源文件。直接运行不行,因为没有加引用库。

2、makefile解读转.pro配置

qt中.pro文件详细说明参考文章:qt中.pro文件详细说明

makefile打印变量值参考文章:makefile打印变量值进行调试

pkg-config功能即使用方法参考文章:linux下pkg-config功能及使用

qt中使用pkg-config简化配置参考文章:qt中在.pro配置文件中使用pkg-config

APP:= deepstream-test1-app # 生成的app名字,将工程TARGET改为此名,保持一致

工程头文件:

PKGS:= gstreamer-1.0
INCS:= $(wildcard *.h)  # 匹配当前工程头文件
CFLAGS+= -I../../../includes # 上上级目录includes文件
CFLAGS+= `pkg-config --cflags $(PKGS)` # gstreamer-1.0头文件

工程源文件:

SRCS:= $(wildcard *.c) # 匹配当前工程.c文件

LIB库文件:

PKGS:= gstreamer-1.0
NVDS_VERSION:=5.0
LIB_INSTALL_DIR?=/opt/nvidia/deepstream/deepstream-$(NVDS_VERSION)/lib/

LIBS:= `pkg-config --libs $(PKGS)`
LIBS+= -L$(LIB_INSTALL_DIR) -lnvdsgst_meta -lnvds_meta \
       -Wl,-rpath,$(LIB_INSTALL_DIR)

根据makefile语法,找出所有依赖,进行.pro配置。

TEMPLATE = app
TARGET = deepstream-test1-app
INCLUDEPATH += . \
                ../../../includes \
                /usr/include/gstreamer-1.0 \
                /usr/include/glib-2.0 \
                /usr/lib/x86_64-linux-gnu/glib-2.0/include

DEFINES += QT_DEPRECATED_WARNINGS

# Input
SOURCES += deepstream_test1_app.c

LIBS += /opt/nvidia/deepstream/deepstream-5.0/lib/libnvdsgst_meta.so \
        /opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_meta.so \
        /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so \
        /usr/lib/x86_64-linux-gnu/libgobject-2.0.so \
        /usr/lib/x86_64-linux-gnu/libglib-2.0.so

编译,运行通过。

3、使用pkgconfig简化gstreamer-1.0 lib库引用

LIBS += /opt/nvidia/deepstream/deepstream-5.0/lib/libnvdsgst_meta.so \
        /opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_meta.so \
        /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so \
        /usr/lib/x86_64-linux-gnu/libgobject-2.0.so \
        /usr/lib/x86_64-linux-gnu/libglib-2.0.so

等效于:

LIBS += /opt/nvidia/deepstream/deepstream-5.0/lib/libnvdsgst_meta.so \
        /opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_meta.so
CONFIG += link_pkgconfig
PKGCONFIG += gstreamer-1.0

4、编译运行

点击运行,生成deepstream-test1-app。同样,拷贝sample_720p.h264到编译目录,运行:

./deepstream-test1-app sample_720p.h264

传送门:deepstream系列文章分类整理

本文地址:https://blog.csdn.net/weixin_34910922/article/details/107347919