如何在WSL中运行Makefile?
我在WSL中运行make -f Makefile
,收到以下错误:
CFLAGS='-fpic -std=c++17' -R2018a usrp_mex.cpp usrp_gpio.cpp usrp_io.cpp -lboost_filesystem -lboost_thread `pkg-config --libs --cflags uhd`
/bin/sh: 1: -R2018a: not found
Makefile:11: recipe for target 'usrp_mex.mex' failed
make: *** [usrp_mex.mex] Error 127
似乎找不到mex命令。如何将Matlab安装添加到PATH?
从Makefile:
BUILDDIR:=build
MEX=${shell which mex}
ifeq ("$(MEX)", "")
MEX:=${shell which matlab-mex}
endif
all: usrp_mex.mex
usrp_mex.mex: usrp_mex.cpp usrp_gpio.cpp usrp_io.cpp
$(MEX) CFLAGS='-fpic -std=c++17' -R2018a $^ -lboost_filesystem -lboost_thread `pkg-config --libs --cflags uhd`
1条答案
按热度按时间wgmfuz8q1#
问题是,你实际上是在试图运行:
从shell。这一行将运行变量赋值
CFLAGS='-fpic -std=c++17'
,它将CFLAGS
设置为'-fpic -std=c++17'
(注意引号)。此变量将仅在该配方行的持续时间内设置。然后,shell将尝试处理下一个令牌-R2018a
,它将把它视为可执行文件。我的猜测是,结束引号是放错了地方在这个食谱行,但你必须张贴的规则来确认。