windows系统电脑上scrcpy源码本地调试

devtools/2024/10/9 15:15:01/

步骤一:按照scrcpy官网本地编译教程,安装好msys2及相关包。

步骤二:下载scrcpy源码到本地电脑。

步骤三:在msys2的mingw64.exe窗口中运行命令编译并链接scrcpy源码。

注意:因为编译的目的是为了调试,所以在链接时不能使用链接优化,并且需要使用debug模式进行编译。所以需要对官网的编译指令进行修改。

原始编译指令:

meson setup x --buildtype=release --strip -Db_lto=true -Dprebuilt_server=/path/to/scrcpy-server
其中:
  • x: 指定构建目录,Meson 会在此目录中生成构建文件。
  • --buildtype=release: 设置构建类型为“发布”,通常会启用优化并禁用调试信息。
  • --strip: 在生成的二进制文件中去除调试信息,以减小文件大小。
  • -Db_lto=true: 启用链接时优化(LTO),可进一步提高性能。
  • -Dprebuilt_server=scrcpy-server: 指定使用预构建的服务器二进制文件,通常用于避免重新构建相同的组件。

修改后的指令是:

meson setup x --buildtype=debug -Dprebuilt_server=scrcpy-server

步骤四:编译成功后,在VS CODE打开该项目,并在其中配置luanch.json:

{"version": "0.2.0","configurations": [{"name": "C++ Launch","type": "cppdbg","request": "launch","program": "${workspaceFolder}/x/app/scrcpy.exe", // 替换为你的可执行文件路径"args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],"miDebuggerPath": "D:\\installed\\msys64\\mingw64\\bin\\gdb.exe","runInTerminal": true,// "preLaunchTask": "build" // 如果有编译任务}]
}

步骤五:切换到调试视图即可对scrcpy进行调试运行。


http://www.ppmy.cn/devtools/120803.html

相关文章

【深度学习】05-RNN循环神经网络-02- RNN循环神经网络的发展历史与演化趋势/LSTM/GRU/Transformer

RNN网络的发展历史与演化趋势 RNN(Recurrent Neural Network,循环神经网络)是一类用于处理序列数据的神经网络,特别擅长捕捉数据的时间或上下文依赖性。在其发展的过程中,不断出现各种改进和变体,以解决不…

数据结构升华部分:排序与字符串匹配算法应用

数据结构入门学习(全是干货)——综合应用 习题选讲 - 排序与字符串匹配算法 习题选讲 - Insert or Merge 习题-IOM.1 插入排序的判断 题意理解 如何区分简单插入和非递归的归并排序 插入排序:前面有序,后面没有变化。归并排…

Hadoop搭建及Springboot集成

文章目录 环境说明下载安装配置单机伪集群配置hadoop-env.sh配置core-sit.xml配置hdfs-site.xml配置 yarn-site.xml配置mapred-site.xml 启动访问web界面 Windows电脑远程调用springBoot 集成 环境说明 使用Hadoop的前提是linux服务器上必须安装java,这里不赘述怎么…

C++11 多线程编程-小白零基础到手撕线程池

提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问: 本文目标: 一、背景 来源于b站视频 C11 多线程编程-小白零基础到手撕线程池 学习来源:https://www.bilibili.com/video/BV1d841117SH/?p2&spm_id_f…

【STM32】定时器

一、 定时器概述 定义 ​ 设置等待时间, 到达后则执行指定操作的硬件。 STM32F407 的定时器有以下特征 ​ 具有基本的定时功能, 也有 PWM 输出(灯光亮度控制、 电机的转速)、 脉冲捕获功能(红外捕捉)。…

爬虫小案例:爬取豆瓣网TOP250的电影信息(内含面相对象源码、及详细教学)

爬虫案例二———爬取豆瓣网TOP250的电影信息,并存入MySQL数据库 前提准备 安装pymysql库 pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple Python连接MySQL数据库,并进行增删改查基本操作 连接数据库 """连接MyS…

重构长方法之提取方法

本篇文章将讲解解决长方法的6钟解决方案中的提取方法。 1. 什么是长方法 长方法通常指的是代码中功能过于复杂或包含过多逻辑的函数或方法。这种方法往往难以阅读、理解和维护,可能违反单一职责原则。为了提高可读性和可维护性,建议将长方法拆分成多个小…

Spring Boot 和 MyBatis-Plus凑一块儿了,这份教程你得看

一、引言 MyBatis-Plus 是 MyBatis 的增强版,提供了 CRUD 接口、分页插件、性能分析插件等特性,简化了开发过程。本文将详细介绍如何在 Spring Boot 项目中集成 MyBatis-Plus。 支持的数据看也越来越多,值得去搞一下,写了一个小例…