mirror of
https://github.com/kunkundi/crossdesk.git
synced 2026-08-22 19:15:40 +08:00
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d3d6fb5c25 | ||
|
|
de691fb01a |
@@ -80,7 +80,7 @@ Windows 安装包会自动打包 `crossdesk_service.exe` 和 `crossdesk_session_
|
|||||||
|
|
||||||
依赖:
|
依赖:
|
||||||
- [xmake](https://xmake.io/#/guide/installation)
|
- [xmake](https://xmake.io/#/guide/installation)
|
||||||
- [cmake](https://cmake.org/download/) 3.21 及以上
|
- [cmake](https://cmake.org/download/) 3.21 及以上(系统版本过低时由 xmake 自动安装)
|
||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
@@ -97,12 +97,11 @@ sudo apt-get install -y \
|
|||||||
libxtst-dev libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev \
|
libxtst-dev libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev \
|
||||||
libxcb-shape0-dev libxcb-xkb-dev libxcb-xfixes0-dev libxcb-shm0-dev \
|
libxcb-shape0-dev libxcb-xkb-dev libxcb-xfixes0-dev libxcb-shm0-dev \
|
||||||
libasound2-dev libsndio-dev libpulse-dev
|
libasound2-dev libsndio-dev libpulse-dev
|
||||||
|
|
||||||
# Ubuntu 20.04 自带的 CMake 3.16 不满足 Slint 1.17 的要求
|
|
||||||
python3 -m pip install --user cmake==3.31.6
|
|
||||||
export PATH="$HOME/.local/bin:$PATH"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Ubuntu 20.04 自带的 CMake 3.16 不满足要求时,xmake 会自动下载并使用
|
||||||
|
CMake 3.21 或更高版本,无需手动替换系统 CMake。
|
||||||
|
|
||||||
Ubuntu 20.04 默认的 GCC 9 缺少 Slint C++ API 所需的部分 C++20 标准库,
|
Ubuntu 20.04 默认的 GCC 9 缺少 Slint C++ API 所需的部分 C++20 标准库,
|
||||||
因此上述命令同时安装并在后续配置中指定 GCC 10。
|
因此上述命令同时安装并在后续配置中指定 GCC 10。
|
||||||
|
|
||||||
@@ -128,17 +127,21 @@ git submodule update --init --recursive
|
|||||||
# 已安装发行版 PipeWire 0.3 开发包时可跳过此步骤。
|
# 已安装发行版 PipeWire 0.3 开发包时可跳过此步骤。
|
||||||
sudo ./docker/linux-build/install-pipewire-sdk.sh
|
sudo ./docker/linux-build/install-pipewire-sdk.sh
|
||||||
|
|
||||||
xmake f -m release --USE_CUDA=false --cc=gcc-10 --cxx=g++-10 -y
|
xmake f -c -m release --USE_CUDA=false --toolchain=gcc-10 -y
|
||||||
xmake b -vy crossdesk
|
xmake b -vy crossdesk
|
||||||
```
|
```
|
||||||
|
|
||||||
|
这里应使用 `--toolchain=gcc-10`,以确保 CrossDesk 及 xmake 在配置阶段构建的
|
||||||
|
libyuv 等第三方包都使用 GCC 10。只指定 `--cc`/`--cxx` 时,依赖安装可能仍回退到
|
||||||
|
系统默认的 `/bin/cc` 和 `/bin/c++`。`-c` 会清除旧配置,切换编译器时必须保留。
|
||||||
|
|
||||||
amd64 构建结果位于 `build/linux/x86_64/release/crossdesk`,arm64 构建结果位于 `build/linux/arm64/release/crossdesk`。
|
amd64 构建结果位于 `build/linux/x86_64/release/crossdesk`,arm64 构建结果位于 `build/linux/arm64/release/crossdesk`。
|
||||||
|
|
||||||
启用 Wayland 和 DRM 的配置示例:
|
启用 Wayland 和 DRM 的配置示例:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
xmake f -m release --USE_WAYLAND=true --USE_DRM=true --USE_CUDA=false \
|
xmake f -c -m release --USE_WAYLAND=true --USE_DRM=true --USE_CUDA=false \
|
||||||
--cc=gcc-10 --cxx=g++-10 -y
|
--toolchain=gcc-10 -y
|
||||||
xmake b -vy crossdesk
|
xmake b -vy crossdesk
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
+14
-8
@@ -85,7 +85,7 @@ If the remote Windows service is not installed, not running, or temporarily unav
|
|||||||
|
|
||||||
Requirements:
|
Requirements:
|
||||||
- [xmake](https://xmake.io/#/guide/installation)
|
- [xmake](https://xmake.io/#/guide/installation)
|
||||||
- [cmake](https://cmake.org/download/) 3.21 or later
|
- [cmake](https://cmake.org/download/) 3.21 or later (installed automatically by xmake when the system version is too old)
|
||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
@@ -103,12 +103,12 @@ sudo apt-get install -y \
|
|||||||
libxtst-dev libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev \
|
libxtst-dev libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev \
|
||||||
libxcb-shape0-dev libxcb-xkb-dev libxcb-xfixes0-dev libxcb-shm0-dev \
|
libxcb-shape0-dev libxcb-xkb-dev libxcb-xfixes0-dev libxcb-shm0-dev \
|
||||||
libasound2-dev libsndio-dev libpulse-dev
|
libasound2-dev libsndio-dev libpulse-dev
|
||||||
|
|
||||||
# Ubuntu 20.04's CMake 3.16 is too old for Slint 1.17.
|
|
||||||
python3 -m pip install --user cmake==3.31.6
|
|
||||||
export PATH="$HOME/.local/bin:$PATH"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
When Ubuntu 20.04's bundled CMake 3.16 is too old, xmake automatically
|
||||||
|
downloads and uses CMake 3.21 or later; replacing the system CMake manually is
|
||||||
|
not required.
|
||||||
|
|
||||||
Ubuntu 20.04's default GCC 9 lacks parts of the C++20 standard library needed
|
Ubuntu 20.04's default GCC 9 lacks parts of the C++20 standard library needed
|
||||||
by Slint's C++ API, so the commands above install GCC 10 and the configuration
|
by Slint's C++ API, so the commands above install GCC 10 and the configuration
|
||||||
below selects it explicitly.
|
below selects it explicitly.
|
||||||
@@ -136,17 +136,23 @@ git submodule update --init --recursive
|
|||||||
# PipeWire 0.3 development packages are already installed.
|
# PipeWire 0.3 development packages are already installed.
|
||||||
sudo ./docker/linux-build/install-pipewire-sdk.sh
|
sudo ./docker/linux-build/install-pipewire-sdk.sh
|
||||||
|
|
||||||
xmake f -m release --USE_CUDA=false --cc=gcc-10 --cxx=g++-10 -y
|
xmake f -c -m release --USE_CUDA=false --toolchain=gcc-10 -y
|
||||||
xmake b -vy crossdesk
|
xmake b -vy crossdesk
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Use `--toolchain=gcc-10` so that both CrossDesk and third-party packages such
|
||||||
|
as libyuv, which xmake builds during configuration, use GCC 10. Specifying only
|
||||||
|
`--cc`/`--cxx` may still let dependency builds fall back to the system
|
||||||
|
`/bin/cc` and `/bin/c++`. Keep `-c` when switching compilers to clear the old
|
||||||
|
configuration.
|
||||||
|
|
||||||
The amd64 binary is written to `build/linux/x86_64/release/crossdesk`; the arm64 binary is written to `build/linux/arm64/release/crossdesk`.
|
The amd64 binary is written to `build/linux/x86_64/release/crossdesk`; the arm64 binary is written to `build/linux/arm64/release/crossdesk`.
|
||||||
|
|
||||||
Example configuration with Wayland and DRM capture enabled:
|
Example configuration with Wayland and DRM capture enabled:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
xmake f -m release --USE_WAYLAND=true --USE_DRM=true --USE_CUDA=false \
|
xmake f -c -m release --USE_WAYLAND=true --USE_DRM=true --USE_CUDA=false \
|
||||||
--cc=gcc-10 --cxx=g++-10 -y
|
--toolchain=gcc-10 -y
|
||||||
xmake b -vy crossdesk
|
xmake b -vy crossdesk
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
+1
-1
Submodule submodules/minirtc updated: 00aad6aa37...821553b638
Vendored
+1
-1
@@ -9,7 +9,7 @@ package("slint")
|
|||||||
|
|
||||||
add_configs("shared", {description = "Build the Slint runtime as a shared library", default = true, type = "boolean", readonly = true})
|
add_configs("shared", {description = "Build the Slint runtime as a shared library", default = true, type = "boolean", readonly = true})
|
||||||
|
|
||||||
add_deps("cmake")
|
add_deps("cmake >=3.21 <4.0")
|
||||||
add_deps("rust 1.92.0", {host = true, private = true, system = false})
|
add_deps("rust 1.92.0", {host = true, private = true, system = false})
|
||||||
|
|
||||||
on_load(function(package)
|
on_load(function(package)
|
||||||
|
|||||||
Reference in New Issue
Block a user