如何使用Homebrew在MacOS安装的Emscripten及适配旧构建脚本?
适配Homebrew(M1 Mac)和apt-get(Ubuntu)安装的Emscripten到旧构建脚本
M1 Mac(Homebrew安装)
1. 环境变量配置
Homebrew安装的Emscripten主目录为/opt/homebrew/opt/emscripten,工具链(emcc/em++等)已在/opt/homebrew/bin并加入系统PATH。旧脚本依赖的EMSDK环境变量需手动指向主目录:
export EMSDK=/opt/homebrew/opt/emscripten
若脚本还依赖EMSDK_NODE/EMSDK_PYTHON,直接指向系统已安装的对应工具即可:
export EMSDK_NODE=$(which node) export EMSDK_PYTHON=$(which python3)
2. CMake脚本调整
- 旧脚本若硬编码
${EMSDK}/upstream/emscripten/cmake路径,Homebrew版本无upstream层级,需改为${EMSDK}/share/cmake,或直接用find_package(Emscripten REQUIRED)(Homebrew已自动配置CMake模块路径)。 - 脚本中引用的
${EMSDK}/upstream/emscripten/system下的C++库,Homebrew版本对应路径为${EMSDK}/system,直接替换即可。
3. Ruby脚本适配
将Ruby脚本中所有${EMSDK}相关路径引用,对应替换为/opt/homebrew/opt/emscripten(或通过环境变量自动读取),确保库文件指向${EMSDK}/system/include和${EMSDK}/system/lib。
Ubuntu(apt-get安装)
1. 安装与环境变量设置
先通过apt-get安装Emscripten:
sudo apt-get update && sudo apt-get install emscripten
安装后主目录为/usr/lib/emscripten,工具链自动加入/usr/bin。设置EMSDK环境变量:
export EMSDK=/usr/lib/emscripten
2. CMake脚本适配
apt安装的Emscripten的CMake模块位于${EMSDK}/cmake/Modules,旧脚本中若使用include(${EMSDK}/cmake/Modules/Platform/Emscripten.cmake),设置EMSDK后即可正常加载。库文件路径与旧emsdk结构一致,无需额外修改。
3. 版本兼容性处理
apt仓库的Emscripten版本可能滞后,若旧脚本依赖特定新特性,可通过emcc -v确认版本,必要时添加PPA更新:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update && sudo apt-get upgrade emscripten
通用测试与兼容技巧
- 运行
emcc -v确认工具链正常工作。 - 手动设置
EMSDK后执行旧脚本,根据报错调整路径或变量。 - 若脚本硬编码
upstream层级路径,可创建软链接兼容:
# Mac示例 ln -s /opt/homebrew/opt/emscripten /opt/homebrew/opt/emscripten/upstream/emscripten
内容的提问来源于stack exchange,提问作者peterk
相关产品推荐
相关产品推荐

