You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac平台编译luanti源码时CMake报错:找不到Zstd依赖

解决Mac源码安装luanti时CMake找不到Zstd的问题

问题描述

执行以下源码编译命令时CMake报错:

mkdir build
cd build
cmake .. \
    -DCMAKE_FIND_FRAMEWORK=LAST \
    -DCMAKE_INSTALL_PREFIX=../build/macos/ \
    -DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE

make -j$(sysctl -n hw.logicalcpu)
make install

codesign --force --deep -s - --entitlements ../misc/macos/entitlements/debug.entitlements macos/luanti.app

报错信息:

-- Looking for ZSTD_initCStream
-- Looking for ZSTD_initCStream - not found
CMake Error at /opt/homebrew/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:227 (message):
  Could NOT find Zstd (missing: ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
Call Stack (most recent call first):
  /opt/homebrew/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:591 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindZstd.cmake:24 (find_package_handle_standard_args)
  src/CMakeLists.txt:267 (find_package)

解决方案

1. 安装Zstd依赖

Mac系统用Homebrew直接安装Zstd:

brew install zstd

2. 重新执行编译流程

安装完成后,回到build目录,清空之前的CMake缓存后重新执行命令:

cd build
rm -rf CMakeCache.txt CMakeFiles
cmake .. \
    -DCMAKE_FIND_FRAMEWORK=LAST \
    -DCMAKE_INSTALL_PREFIX=../build/macos/ \
    -DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE
make -j$(sysctl -n hw.logicalcpu)
make install
codesign --force --deep -s - --entitlements ../misc/macos/entitlements/debug.entitlements macos/luanti.app

3. 手动指定路径(如果安装后仍报错)

如果CMake还是找不到Zstd,在CMake命令里手动指定库和头文件路径:

cmake .. \
    -DCMAKE_FIND_FRAMEWORK=LAST \
    -DCMAKE_INSTALL_PREFIX=../build/macos/ \
    -DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE \
    -DZSTD_LIBRARY=$(brew --prefix zstd)/lib/libzstd.dylib \
    -DZSTD_INCLUDE_DIR=$(brew --prefix zstd)/include

内容的提问来源于stack exchange,提问作者Ishwari Katariya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 10:23:16