compilación del análisis del código fuente de renderdoc (1)

Este artículo analiza y explica algunas de las funciones principales de renderdoc, incluida la compilación, el inicio de apk, el proceso de biblioteca de enlace opengl es, el proceso de captura de flujo, el proceso de transferencia de archivos rdc desde el dispositivo al host, el proceso de reproducción, org.renderdoc.renderdoccmd.arm64.apk , target apk son respectivamente responsables de las cosas, etc.

Dado que el objeto de la captura y análisis de flujo del autor utilizando renderdoc son los dispositivos móviles Android11 , todos los escenarios se basan en esta descripción y los estudiantes no deben seguir todos los escenarios.

El artículo es relativamente básico y está destinado a lectores principales. Si hay algún problema en el artículo, corríjame. También puede agregar V para comunicarse (1558287830).

Tabla de contenido

1. descarga de código

2.Configuración del entorno

ubuntu

Dependencias de instalación y configuración del entorno.

compilar

Abierto

Mac OS

Dependencias de instalación y configuración del entorno.

compilar

Abierto

Empaquetado en dmg



1. descarga de código

https://github.com/baldurk/renderdoc

2.Configuración del entorno

Desarrollo en base a Ubuntu 18.04. Después de compilarlo en macOS, no puedo hacer clic para reproducir la interfaz de usuario de transmisión. Aún no he analizado por qué, por lo que recomiendo a los principiantes que desarrollen en base a Ubuntu.

ubuntu

Dependencias de instalación y configuración del entorno.

Dado que la compilación requiere la instalación de algunas dependencias, que pueden entrar en conflicto con el entorno local, se recomienda utilizar Docker Ubuntu específicamente como entorno de compilación. Para las dependencias de instalación y la construcción del entorno, consulte la documentación oficial. Luego, todo lo que falte durante la compilación se instalará y estará bien ~

https://github.com/baldurk/renderdoc/blob/v1.x/docs/CONTRIBUTING/Compiling.md

https://github.com/baldurk/renderdoc/blob/v1.x/docs/CONTRIBUTING/Dependencies.md#linux

compilar

  En mi script de compilación, las variables de entorno ANDROID_SDK, JAVA_HOME, ANDROID_NDK se pueden modificar según su propio entorno:

#!/bin/bash

#build host 
echo "=========> build host"
rm -rf build-android/
export QT_SELECT=qt5

cmake -DCMAKE_BUILD_TYPE=Debug -Bbuild -H.
make -C build -j8

#build apk
sleep 5
echo "=========> build apk"
mkdir  build-android
rootDir=$( pwd )
echo "rootDir:"$rootDir
export ANDROID_SDK=/root/Android/Sdk
echo "ANDROID_SDK:"$ANDROID_SDK

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
echo "JAVA_HOME:"$JAVA_HOME

export ANDROID_NDK=$ANDROID_SDK/android-ndk-r14b
echo "ANDROID_NDK:"$ANDROID_NDK

cd $rootDir
cd ./build-android
cmake -DBUILD_ANDROID=On -DANDROID_ABI=armeabi-v7a  ..
make -j8

rm CMakeCache.txt
rm cmake_install.cmake

cmake -DBUILD_ANDROID=On -DANDROID_ABI=arm64-v8a .. 
make -j8

Abierto

    ./build/bin/qrenderdoc

Mac OS

Dependencias de instalación y configuración del entorno.

  Consulte la documentación oficial:

https://github.com/baldurk/renderdoc/blob/v1.x/docs/CONTRIBUTING/Compiling.md

https://github.com/baldurk/renderdoc/blob/v1.x/docs/CONTRIBUTING/Dependencies.md#linux

  Recuerda instalar algunas de las dependencias.

brew install autoconf
brew install automake
brew install qt5
pip install cmake==3.21.1

compilar

  Mi script de compilación, ANDROID_SDK, JAVA_HOME, ANDROID_NDK, ANDROID_HOME, las variables de entorno se pueden modificar de acuerdo con su propio entorno:

#!/bin/bash

rootDir=$( pwd )
echo "rootDir:"$rootDir


#build host 
echo "=========> build host"

export PATH=/usr/local/opt/qt@5/bin:$PATH

rm -rf build
mkdir -p build

cd ./build 
cmake -G Ninja .. -DCMAKE_PREFIX_PATH=$(brew --prefix qt5)
ninja
cd $rootDir


#build apk
sleep 5
echo "=========> build apk"
rm -rf build-android
mkdir -p build-android


cd $rootDir
cd ./build-android
cmake -DBUILD_ANDROID=On -DANDROID_ABI=armeabi-v7a  ..
make -j8

rm CMakeCache.txt
rm cmake_install.cmake

cmake -DBUILD_ANDROID=On -DANDROID_ABI=arm64-v8a .. 
make -j8

Abierto

   abra ./build/bin/qrenderdoc.app/

Empaquetado en dmg

./util/buildscripts/scripts/make_package_macos.sh  package_name

#其中,若脚本里边报 REPO_ROOT路径相关的错,直接在里边将其值该成自己的代码路径就ok

Si el empaquetado se realiza correctamente, se generará package_name.dmg debajo del paquete.

Supongo que te gusta

Origin blog.csdn.net/goodnight1994/article/details/124843115
Recomendado
Clasificación