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

如何在WSL中运行Makefile并解决mex命令未找到问题

问题分析与解决

错误本质

从报错信息和Makefile内容来看,mex命令未被找到,导致Makefile中执行$(MEX)时为空,最终命令变成:

CFLAGS='-fpic -std=c++17' -R2018a usrp_mex.cpp usrp_gpio.cpp usrp_io.cpp -lboost_filesystem -lboost_thread `pkg-config --libs --cflags uhd`

Shell将CFLAGS=...当作独立命令执行,后续的-R2018a也被识别为不存在的命令,从而抛出错误。

解决步骤:将Matlab路径添加到PATH环境变量

1. 定位Matlab的安装路径

Matlab在WSL中的默认安装路径通常为/usr/local/MATLAB/R2018a(对应Makefile中的-R2018a版本),如果是自定义安装,需找到实际路径。mex命令位于Matlab安装目录的bin子目录下,比如:

/usr/local/MATLAB/R2018a/bin

2. 临时添加到PATH(仅当前终端会话生效)

在终端执行以下命令(替换为你的Matlab实际路径):

export PATH="/usr/local/MATLAB/R2018a/bin:$PATH"

执行后用which mex验证是否能找到命令:

which mex

若输出mex的完整路径,则说明添加成功。

3. 永久添加到PATH(所有终端会话生效)

根据你使用的Shell类型选择对应的配置文件:

  • Bash用户:编辑~/.bashrc文件,添加一行:
    export PATH="/usr/local/MATLAB/R2018a/bin:$PATH"
    
  • Zsh用户:编辑~/.zshrc文件,添加同样的内容。

保存文件后,执行以下命令使配置生效:

# Bash用户
source ~/.bashrc

# Zsh用户
source ~/.zshrc

4. 重新执行Make命令

确认mex命令可被找到后,重新运行:

make -f Makefile

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:52:13