GStreamer 源码编译,在 Clion 下搭建调试环境

前言

最近在学习 GStreamer,官方提供了一些教程,本人希望能够断点调试,以便学习代码逻辑。本文记录如何在 Clion 搭建 GStreamer 源码编译、调试环境

步骤

  1. 下载源码
git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git
  1. Clion 打开 meson.build,参考 clion_meson
  2. 编译 GStreamer,选择 ‘all’ 进行编译即可
    在这里插入图片描述
  3. 获取调试的环境变量。这一步很关键,GStreamer 需要导入插件才能使用各种功能,如果你没有导入插件,GStreamer 中各种测试代码你是无法跑通的。关于环境变量参考 building-from-source-using-meson ,运行根目录下的一个脚本即可,我们将这些环境变量保存起来,方便后续导入
python3 gst-env.py --builddir /Users/user/Documents/develop/gstreamer/buildDir --only-environment > env.sh
  1. 运行程序时加载环境变量。现在,让我们选择一个测试程序,例如 gstreamer/subprojects/gst-examples/playback/player/gst-play/gst-play.c ,在 Clion 中设置该执行程序的环境变量,如下图,选择 env.sh 路径即可
    在这里插入图片描述
    在这里插入图片描述
  2. 运行它,你会发现现在能够正常运行代码了

参考

  • building-from-source-using-meson

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/711803.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GoogLeNet(InceptionV3)模型算法

GoogLeNet 团队在给出了一些通用的网络设计准则,以期望在不提高网络参数 量的前提下提升网络的表达能力: 避免特征图 (feature map) 表达瓶颈:从理论上讲,尺寸 (seize) 才包含了相关结构等重要因素,维度(channel) 仅仅…

【C++】stack、queue和deque的使用

💗个人主页💗 ⭐个人专栏——C学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 导读 一、stack 1. stack介绍 2. stack使用 二、queue 1. queue介绍 2. queue使用 三、deque 1. deque介绍 2. deque的…

6个免费自动写文章软件,简直好用到爆

对于创作者而言,创作一篇高质量的文章并非易事,它需要耗费大量的时间与精力去构思、组织语言、斟酌字句。灵感并非总是源源不断,有时我们可能会陷入思维的僵局,不知从何下手。而此时,免费自动写文章软件就如同黑暗中的…

pdf structuredClone is not defined 解决

问题 部分手机系统的浏览器 pdf v2版本会出现 structuredclone is not defined 的报错,这是因为浏览器过低 解决 查看structuredClone的浏览器兼容性 structuredClone api 文档 polyfill 网站下方有个 polyfill的网址入口 可以解决低版本的兼容问题 相应网址…

官方文档 搬运 MAXMIND IP定位 mysql导入 简单使用

官方文档地址: 官方文档 文件下载 1. 导入mysql可能报错 Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 查看配置 SHOW GLOBAL VARIABLES LIKE %secure%;secure_file_priv 原来…

动作识别综合指南

本文将概述当前动作识别(action recognition)的方法和途径。 为了展示动作识别任务的复杂性,我想举这个例子: 你能明白我在这里做什么吗?我想不能。至少你不会确定答案。我正在钻孔。 你能弄清楚我接下来要做什么吗&…

C++11移动语义

前言 之前我们已经知道了在类里开辟数组后,每一次传值返回和拷贝是,都会生成一个临时变量 class Arr { public://构造Arr() {/*具体实现*/ };//拷贝Arr(const Arr& ar) {/*具体实现*/ };//重载Arr operator(const Arr& ar) { /*具体实现*/Arr …

Mybatis动态sql标签

动态SQL标签简介: MyBatis的一个强大的特性之一通常是它的动态SQL能力。如果你有使用JDBC或其他相似框架的经验,你就明白条件地串联SQL字符串在一起是多么的痛苦,确保不能忘了空格或在列表的最后省略逗号。动态SQL可以彻底处理这种痛苦。 Mybatis中实现动态sql的标签有&#x…

vue 安装依赖报错

解决方法: npm install --legacy-peer-deps 然后再运行项目即可。

微前端乾坤方案

微前端乾坤方案 了解乾坤 官方文档 介绍 qiankun 是一个基于 single-spa 的微前端实现库,旨在帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。 qiankun 的核心设计理念 🥄 简单 由于主应用微应用都能做到技术栈无关,qiankun 对…

湘潭大学软件工程数据库2(题型,复习资源和计划)

文章目录 选择题关系范式事务分析E-R 图sql作业题答案链接(仅限有官方答案的版本)结语 现在实验全部做完了,实验和作业占比是百分之 40 ,通过上图可以看出来,重点是 sql 语言 所以接下来主要就是学习 sql 语句怎么书写…

万能破题方法包(3)暴力破解法

一、前言 暴力破解法是指通过尝试所有可能的密码组合来破解密码 1.1、概念 暴力破解法是一种通过尝试所有可能的密码组合来破解密码的方法。它基于暴力的方式,不依赖于任何密码漏洞或特殊技巧,而是通过穷举所有可能性来找到正确的密码。 1.2、解决步骤 …

Python中关于电商商品数据的采集【taobao/JD/商品详情数据返回】

在Python中采集电商商品数据(如淘宝、京东等)通常涉及到网络爬虫(web scraping)或称为网络数据抓取(web data scraping)。由于电商平台通常会有反爬虫机制,因此直接抓取数据可能会遇到各种挑战&…

UITableView初识之分组显示数据Demo

基本介绍 继承自UIScrollView,因此可以滚动。 需要Datasource 遵循UITableViewDataSource协议的OC对象,都可以是UITableView的数据源,该协议中的方法告诉UITableView如何显示数据。 关于UITableView UITableView显示分组数据,对应…

C++ 30 之 new 和 delete 关键字

#include <iostream> #include <string.h> using namespace std;class Students08{ public:Students08(){cout << "students08的默认构造函数"<< endl;}Students08(int a){cout << "students08的有参构造函数"<< endl…

springboot与flowable(9):候选人组

act_id_xxx相关表存储了所有用户和组的数据。 一、维护用户信息 Autowiredprivate IdentityService identityService;/*** 维护用户*/Testvoid createUser() {User user identityService.newUser("zhangsan");user.setEmail("zhangsanqq.com");user.setF…

超万卡训练集群网络互联技术解读

超万卡训练集群互联关键技术 大模型迈向万亿参数的多模态升级&#xff0c;万卡集群计算能力亟需飞跃。关键在于增强单芯片性能、提升超节点算力、融合DPU多计算能力&#xff0c;并追求算力能效比极致。这一系列提升将强有力支撑更大规模模型训练和推理&#xff0c;快速响应业务…

ROS中Twist消息类型

Twist消息类型在Robot Operating System (ROS)中是一个常见的数据结构&#xff0c;主要用于描述物体的线性速度和角速度。这种消息类型在ROS的geometry_msgs包中定义&#xff0c;常用于机器人运动控制&#xff0c;尤其是当需要向机器人发布速度指令时。 Twist消息由两个Vector…

实拆一个风扇

fr:徐海涛(hunkxu)

枚举算法01

限制&#xff1a;升序-局部-表征新加的数大于前面一个 从前往后依次枚举每个位置上的数是几 我们排列时候 是从1 到 n 实际上比前面的数大 递归时 1.把搜索问题顺序变成搜索树 2 如何把树转化为