代码拉取完成,页面将自动刷新
MMP (Multi Media Plug-in) 多媒体插件核心基础库.
MMP
目前仅支持运行在 linux
和 windows
平台, 短期内功能开发集中在 linux
.
在 debian
环境下, 可以运行以下命令进行构建:
# debian 环境下
# [option] USE_OPENGL
sudo apt install libgl1-mesa-dev* nasm
# [option] USE_SDL
sudo apt install libsdl2-dev
# [option] USE_X11
sudo apt install libx11-dev
# [option] USE_GBM
sudo apt install libgbm-dev
# [option] USE_GBM 、USE_VAAPI
sudo apt install libdrm-dev
# [option] USE_VAAPI
sudo apt install libva-dev
rm -rf build
mkdir build
git submodule update --init --recursive
cd build
cmake .. -DUSE_OPENGL=ON -DUSE_EGL=ON -DUSE_GBM=ON -DUSE_SDL=ON -DUSE_X11=ON -DUSE_VAAPI=ON
make -j4
在 Windows 上 MMP
, 通过 vcpkg
来管理依赖, 为了方便将 vcpkg
作为一个子仓库管理.
See also : vcpkg
在第一次编译项目前, 需要生成 vcpkg.exe
以及使用其下载依赖项:
# Power Shell
# 生成 vcpkg.exe
git submodule update --init --recursive
git clone https://github.com/microsoft/vcpkg.git Extension/vcpkg
.\Extension\vcpkg\bootstrap-vcpkg.bat
# 安装 SDL
.\Extension\vcpkg\vcpkg.exe install sdl2:x86-windows
# Git Bash
mkdir build
cmake --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -S. -B./build -G "Visual Studio 17 2022" -T host=x86 -A win32
cmake --build build --config Release -j 16
在许多场景下,嵌入式 linux 操作系统通常为定制系统,而非 debian
, 这时可以通过以下命令进行初步构建:
sudo apt install nasm
rm -rf build
mkdir build
git submodule update --init --recursive
cd build
cmake ..
make -j4
在初步编译成功后,可以通过手动配置依赖开启其他功能,如下:
MMP
使用find_package
来进行依赖管理,这个功能通常在桌面系统下才支持.
set(USE_EGL ON)
set(OPENGL_FOUND ON)
set(OPENGL_INCLUDE_DIR `EGL header directory`)
set(OpenGL_LIBRARY_DIRS `EGL lib directory`)
add_library(OpenGL::OpenGL as `EGL lib`)
set(USE_OPENGL ON)
set(OPENGL_FOUND ON)
set(OPENGL_INCLUDE_DIR `OpenGL header directory`)
set(OpenGL_LIBRARY_DIRS `OpenGL lib directory`)
add_library(OpenGL::OpenGL as `OpenGL lib`)
对于一个原生linux系统,应该没有SDL吧.
应该在你的系统上就已经存在了! MMP
几乎所有代码都是从源码开始进行编译,只有两种例外情况:
长期内有打算,短期没有.
MMP 短期内的方向在于完善功能,基于 linux
平台,以嵌入式 arm linux
作为实际应用场景,以 x86 debian
作为调试环境.
换句话说, MMP 面向是客户端,并不适合高并发的场景.
但是 MMP
本身是具有跨平台的可能性的!
MMP-Core
实际上是作为 `MMP`` 的子仓库进行使用,调试相关部分位于 MMP.
Submoudle Cmake Wrapper
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。