源目录似乎不包含 CMakeLists.txt

时间:2021-03-18 09:34:01

标签: bash makefile cmake compiler-errors virtualization

我想使用 qemu + kvm + virglrenderer 在我的 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 build ; cd build ; 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.

1 个答案:

答案 0 :(得分:0)

当您运行 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 命令。

Official Docs for Meson