【发布时间】:2012-10-29 11:33:50
【问题描述】:
我知道此错误与缺少 TAB 相关,但不知何故我无法找出第 1 行缺少选项卡的位置:
生成文件:
## -*- mode: make; tab-width: 8; -*-
##
## Simple Makefile
##
## TODO:
## proper configure for non-Debian file locations, [ Done ]
## allow RHOME to be set for non-default R etc
## comment this out if you need a different version of R,
## and set set R_HOME accordingly as an environment variable
R_HOME = $(shell R RHOME)
sources = $(wildcard *.cpp)
programs = $(sources:.cpp=)
## include headers and libraries for R
RCPPFLAGS = $(shell $(R_HOME)/bin/R CMD config --cppflags)
RLDFLAGS = $(shell $(R_HOME)/bin/R CMD config --ldflags)
RBLAS = $(shell $(R_HOME)/bin/R CMD config BLAS_LIBS)
RLAPACK = $(shell $(R_HOME)/bin/R CMD config LAPACK_LIBS)
## if you need to set an rpath to R itself, also uncomment
#RRPATH := -Wl,-rpath,$(R_HOME)/lib
## include headers and libraries for Rcpp interface classes
RCPPINCL = $(shell echo 'Rcpp:::CxxFlags()' | $(R_HOME)/bin/R --vanilla --slave)
RCPPLIBS = $(shell echo 'Rcpp:::LdFlags()' | $(R_HOME)/bin/R --vanilla --slave)
## include headers and libraries for RInside embedding classes
RINSIDEINCL = $(shell echo 'RInside:::CxxFlags()' | $(R_HOME)/bin/R --vanilla --slave)
RINSIDELIBS = $(shell echo 'RInside:::LdFlags()' | $(R_HOME)/bin/R --vanilla --slave)
## compiler etc settings used in default make rules
CXX = $(shell $(R_HOME)/bin/R CMD config CXX)
CPPFLAGS = -Wall $(shell $(R_HOME)/bin/R CMD config CPPFLAGS)
CXXFLAGS = $(RCPPFLAGS) $(RCPPINCL) $(RINSIDEINCL) $(shell $(R_HOME)/bin/R CMD
config CXXFLAGS)
LDLIBS = $(RLDFLAGS) $(RRPATH) $(RBLAS) $(RLAPACK) $(RCPPLIBS) $(RINSIDELIBS)
all: $(programs)
@test -x /usr/bin/strip && strip $^
run: $(programs)
@for p in $(programs); do echo; echo "Running $$p:"; ./$$p; done
clean:
rm -vf $(programs)
rm -vrf *.dSYM
runAll:
for p in $(programs); do echo "Running $$p"; ./$$p; done
【问题讨论】:
-
我无法重现您的错误。我建议尽量减少示例——删除行并进行测试,直到找到给出此错误的最小、最简单的 makefile。告诉我们您使用的是哪个版本的 Make (
make -v) 也很有用。 -
这几乎总是同一个问题:您的食谱(shell 命令)必须以 TAB 字符开头。您似乎使用的是空格。
-
@reinierpost,错误消息不是表示第 1 行有问题吗?或者这是微软那些迷人的怪癖之一?
-
这不是微软的怪癖。