相关疑难解决方法(0)

出错:缺少分隔符

运行时出现以下错误make:

Makefile:168: *** missing separator.  Stop.
Run Code Online (Sandbox Code Playgroud)

是什么造成的?

makefile

208
推荐指数
7
解决办法
15万
查看次数

如何将命令的输出分配给Makefile变量

我需要有条件地执行一些make规则,只要安装的Python大于某个版本(比如2.5).

我以为我可以做一些像执行:

python -c 'import sys; print int(sys.version_info >= (2,5))'
Run Code Online (Sandbox Code Playgroud)

然后在ifeqmake语句中使用输出(如果正常则为"1",否则为"0").

在一个简单的bash shell脚本中,它只是:

MY_VAR=`python -c 'import sys; print int(sys.version_info >= (2,5))'`
Run Code Online (Sandbox Code Playgroud)

但这在Makefile中不起作用.

有什么建议?我可以使用任何其他合理的解决方法来实现这一目标.

shell makefile

196
推荐指数
6
解决办法
14万
查看次数

Makefile:1:***缺少分隔符.停止

我在c上创建一个项目,当我创建我的Makefile并尝试运行它时,它给了我这个错误:

Makefile:1: *** missing separator.  Stop.
Run Code Online (Sandbox Code Playgroud)

我的makefile代码是:

CC=gcc
OBJ=./objetos
INC=./include
FON=./aqsFonte
BIB=./bibliotecas
OPBIB=-lBiblioteca
ProjetoFinal: libFinal.a 
    $(CP) $(FON)/ProjetoFinal.c -I$(INC) -L$(BIB) $(OPBIB) -o ProjetoFinal

Bibliotecas.a: Caminho.o Libs_Defines.o Matrizes.o Proc_Imagens.o Vetores.o
    ar -q $(BIB)/libFinal.a Caminho.o ibs_Defines.o Matrizes.o Proc_Imagens.o Vetores.o

Caminho.o:
    $(CP) $(FON)/Caminho.c -o Caminho.o
Libs_Defines.o :
    $(CP) $(FON)/Libs_Defines.c -o Libs_Defines.o
Matrizes.o:
    $(CP) $(FON)/Matrizes.c -o Matrizes.o
Proc_Imagens.o: 
    $(CP) $(FON)/Proc_Imagens.c -o Proc_Imagens.o
Vetores.o:
    $(CP) $(FON)/Vetores.c -o Vetores.o
Run Code Online (Sandbox Code Playgroud)

此外,我猜它都是正确的标签.

c makefile

21
推荐指数
3
解决办法
6万
查看次数

Makefile:6:***缺少分隔符.停止

HEADERS = schedule.h 

default: papcmp

program.o: schedule.c $(HEADERS)
    gcc -g -lnuma -lm -pthread schedule.c -lutil -lz -o schedule.o

program: schedule.o
    gcc schedule.o -o papcmp

clean:
    -rm -f schedule.o
    -rm -f papcmp
    -rm -f *.log dump.gz
Run Code Online (Sandbox Code Playgroud)

这是我第一次尝试创建一个make文件.看起来好像有错误.你能帮帮我吗?bold根据输出,输入的行有错误.

makefile

9
推荐指数
1
解决办法
1万
查看次数

如何记录makefile?

有没有办法在Makefile中编写"标准"注释,以便以后将它们提供给类似Doxygen的程序,以便输出一个好的(HTML或man)文档?我想在某个地方清楚地概述我的主要目标,但没有什么太花哨的.

makefile documentation-generation

8
推荐指数
4
解决办法
2240
查看次数

Makefile for dummies?Mac OS X.

我无法理解我之前在stackoverflow上询问的上一个问题的答案:

更高效的R/Sweave/TeXShop工作流程?

答案尤其来自user:las3rjock,他建议创建一个"makefile"并运行makefile来自动编译R(Sweave)中的.Rnw然后再编译LaTeX.我不知道makefile是什么,或者如何在Mac OS X上的终端(?)中使用它.我的网络搜索返回了我的知识水平以上的东西.我想我需要一些手来创建并运行一个makefile.

任何人都可以给出关于如何创建一个makefile来运行Sweave/LaTeX的"虚拟"指令,或者更重要的是,在上一个问题中使用las3rjock的答案吗? 谢谢!

terminal latex osx-leopard r sweave

7
推荐指数
2
解决办法
9925
查看次数

编译带有依赖项的 PIN 工具

正如标题所述,我正在寻找一种方法来编译我的具有某些依赖项的 PIN 工具。例如,如果我#include "somefile.h"在我的 PIN 工具中生成一些目标文件g++ -c somefile.cpp,我如何链接我的目标文件以使用我的 PIN 工具进行编译,以便我可以在我的 PIN 工具中使用它的功能?

c++ linux g++ intel-pin

3
推荐指数
1
解决办法
1197
查看次数

VS code c 编程,如何修复-Makefile:2: *** 缺少分隔符。停止。?

使用 UBUNTU 20.4 和编译器版本 gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0,

我对 vscode 很陌生-我用 C 构建了一个程序,在其主要参数中获取两个字符串(作为文件名)

所以我构建了这个 Makefile 以节省自己检查代码编译和运行的时间,并这样写:

all: //tried with and without "all:" line//
gcc main.c
./a.out ex1.bin ex2.bin
rm -i a.out
Run Code Online (Sandbox Code Playgroud)

由于某种原因,在执行 make 之后,我在终端中被拒绝并得到以下信息:

Makefile:2: *** missing separator. Stop.

我做错了什么以及如何解决它?

感谢帮助者

c makefile

2
推荐指数
1
解决办法
4339
查看次数

Makefile 中的 @echo 总是会导致错误“*** 缺少分隔符。停止。”

我放

@echo "============= $(TOOLPREFIX) ================="
Run Code Online (Sandbox Code Playgroud)

在许多操作系统课程使用的xv6 Makefile的第34行中,希望打印出变量TOOLPREFIX的值。但我总是出错

Makefile:37: *** missing separator.  Stop.
Run Code Online (Sandbox Code Playgroud)

该行位于任何目标之前。我尝试了所有能做的事情,比如在命令开头添加 Tab、将命令移动到 Makefile 中的任何位置,或者删除 echo 之前的符号 @,但无论如何我总是收到错误。但如果我注释掉这个命令,就没有错误了。那么,我应该如何正确打印出这个Makefile中的变量呢?

顺便说一句,如果我在命令开头添加 Tab,我得到的错误是“Makefile:37: *** 配方在第一个目标之前开始。停止。” 但如果我将 @echo 命令移至 Makefile 的底部,则会显示“Makefile:287: *** 缺少分隔符。停止。” 又出来了。

环境是Windows Subsystem for Linux,安装了ubuntu 20.04。

makefile gnu-make echo xv6 windows-subsystem-for-linux

2
推荐指数
1
解决办法
4374
查看次数

Makefile:9: *** 缺少分隔符。停止

我正在尝试编写一个简单的 makefile,但缺少分隔符:

CC =  g++
CFLAGS =  -Wall -g

all:  compile 

compile:  array.cpp
  $(CC) $(CFLAGS)  array.cpp

run:  ./result.out
Run Code Online (Sandbox Code Playgroud)

makefile

1
推荐指数
1
解决办法
6862
查看次数

C Makefile - 缺少分隔符。停止

这是我的 Makefile,我收到错误消息“***missing separator.stop” 我正在尝试编译一个库,但由于某种原因我收到此错误消息。其他类似的 SO 问题表明这是一个制表问题,但我无法解决。

CC=g++
RANLIB=ranlib

LIBSRC=osm.c 
LIBOBJ=$(LIBSRC:.c=.o)

INCS=-I.
CFLAGS = -Wall -g $(INCS)
LOADLIBES = -L./ 

OSMLIB = libosm.a
TARGETS = $(OSMLIB)

TAR=tar
TARFLAGS=-cvf
TARNAME=ex1.tar
TARSRCS=$(LIBSRC) Makefile README

all: $(TARGETS) 

$(TARGETS): $(LIBOBJ)
$(AR) $(ARFLAGS) $@ $^ //this line fails with the warning
$(RANLIB) $@

clean:
$(RM) $(TARGETS) $(OSMLIB) $(OBJ) $(LIBOBJ) *~ *core

depend:
makedepend -- $(CFLAGS) -- $(SRC) $(LIBSRC)

tar:
$(TAR) $(TARFLAGS) $(TARNAME) $(TARSRCS)
Run Code Online (Sandbox Code Playgroud)

c makefile

-1
推荐指数
1
解决办法
1万
查看次数