源目录似乎不包含CMakeLists.txt



我想使用qemu+kvm+virglrender在我的jetson nano上虚拟化Android,我找到了以下教程来完成任务:

这个:

https://www.collabora.com/.../building-android-for-qemu.../

这个:

https://www.collabora.com/.../02/12/virtualizing-gpu-access/

所以。在Ubuntu 20.10上,我已经将这个脚本添加到.bashrc文件中,我做到了:source~/.bashrc

function add_export_env {
local VAR="$1"
shift
local VAL=$(eval echo "$$VAR")
if [ "$VAL" ]; then
VAL=$(concatenate_colon "$@" "$VAL");
else
VAL=$(concatenate_colon "$@");
fi
eval "export $VAR="$VAL""
}
function prefix_setup {
local PREFIX="$1"
add_export_env PATH "$PREFIX/bin"
add_export_env LD_LIBRARY_PATH "$PREFIX/lib"
add_export_env PKG_CONFIG_PATH "$PREFIX/lib/pkgconfig/" "$PREFIX/share/pkgconfig/"
add_export_env MANPATH "$PREFIX/share/man"
export ACLOCAL_PATH="$PREFIX/share/aclocal"
mkdir -p "$ACLOCAL_PATH"
export ACLOCAL="aclocal -I $ACLOCAL_PATH"
}
function projectshell {
case "$1" in
virgl | virglrenderer)
export ALT_LOCAL="/opt/local/virgl"
mkdir -p "$ALT_LOCAL"
prefix_setup "$ALT_LOCAL"
;;
esac
}

我还安装了以下软件包:

sudo apt install autoconf gcc-aarch64-linux-gnu libaio-dev libbluetooth-dev libbrlapi-dev libbz2-dev libcap-dev libcap-ng-dev libcurl4-gnutls-dev libepoxy-dev libfdt-dev libgbm-dev libgles2-mesa-dev libglib2.0-dev libibverbs-dev libjpeg8-dev liblzo2-dev libncurses5-dev libnuma-dev librbd-dev librdmacm-dev libsasl2-dev libsdl1.2-dev libsdl2-dev libseccomp-dev libsnappy-dev libssh2-1-dev libtool libusb-1.0-0 libusb-1.0-0-dev libvde-dev libvdeplug-dev libvte-2.90-dev libxen-dev valgrind xfslibs-dev xutils-dev zlib1g-dev

并配置了这些路径:

export PROJECT_PATH="/opt/qemu_android"
export VIRGLRENDERER_PATH="${PROJECT_PATH}/virglrenderer"
export QEMU_PATH="${PROJECT_PATH}/qemu" export LINUX_PATH="${PROJECT_PATH}/linux"
export ANDROID_PATH="${PROJECT_PATH}/android"
export ANDROID_TOOLS_PATH="${PROJECT_PATH}/android-tools"

然后:

git clone git://anongit.freedesktop.org/virglrenderer
root@aorus:/opt/qemu_android/virglrenderer# ls
ci docs   perf-testing  virglrenderer.pc.inconfig.h.meson meson.build   src vtestCOPYING meson_options.txt  tests
root@aorus:/opt/qemu_android/virglrenderer# ./autogen.sh
bash: ./autogen.sh: File or directory not found

我不知道如何编译它,因为经典的方法不起作用(mkdir构建;cd构建;cmake..(它说:

CMake Error: The source directory does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.

当您运行ls并看到virgilrenderer文件夹中的文件时,没有./autogen.sh,但有meson.build

让我们试试看。

sudo apt install build-essential
sudo apt install meson ninja-build
cd /opt/qemu_android/virglrenderer
meson compile

一旦安装了Meson,并且您位于meson.build文件所在的目录中,就应该能够运行meson compile命令。

Meson 的官方文档

最新更新