### Compiler arguments
#CC = gcc
gcc -I/usr/lib/jvm/jdk1.8.0_121/include/jni.h
CFLAGSNO = $(EXTRA_CC_ARGS) -Wall -g -I/usr/local/include -DCLASSNAME=$(CLASSNAME)
CFLAGS += $(CFLAGSNO)
当我尝试将其输入makefile时,我收到此错误:
让TARGET = cooja干净 ../../../platform/cooja/Makefile.cooja:74:***缺少分隔符(你的意思是TAB而不是8个空格?)。停止。 进程返回错误代码2
我遇到这条线的问题: gcc -I / usr / lib / jvm / jdk1.8.0_121 / include / jni.h
根据其他帖子的说明,我按照这些说明操作:
解决问题
您可以通过将Spaces更改为实际Tab字符来解决此问题。我用vim来修复我的文件。只需打开它:
$ vim makefile
然后在以下命令中运行此命令:
:%s/^[ ]\+/^I/
这将用一个实际的Tab替换所有以1个或多个Spaces开头的行。
但仍然无法正常工作 如何将其包含在makefile中?
答案 0 :(得分:0)
您的编辑器是否使用空格而不是标签?
GNU Make在Makefile中需要真正的制表符。
答案 1 :(得分:0)
您可以使用-I标志链接标头。例如-Icurl /,它将包含该目录中的所有标题。
示例方式:
INCLUDE_DIR = app/curl/include
CFLAGS=-c -Wall -I$(INCLUDE_DIR )
回答您的问题:
错误:Makefile:8:***缺少分隔符(你的意思是TAB而不是 8个空格?)。停止。
这是经典问题。 Makefile只接受制表符缩进 4个空格不是8.更改编辑器的设置,用于设置选项卡 宽度为4,这将解决您的问题。