【发布时间】:2020-03-25 13:04:02
【问题描述】:
我一直在尝试之前在堆栈溢出中发布的所有答案。没有什么对我有用。 下面是make文件:
export IFT_DIR=./ift
export OPF_DIR=./ift/LibOPF
all: msp_bin
FLAGS= -O6 -Wall
$(IFT_DIR)/lib/libift.a:
$(MAKE) -C $(IFT_DIR)
msp_bin: msp_bin.c $(IFT_DIR)/lib/libift.a
gcc $(FLAGS) msp_bin.c -o msp_bin -I $(IFT_DIR)/include I$(IFT_DIR)/LibOPF/include -L $(IFT_DIR)/lib -lift -lm -lz
clean:
del -f msp_bin *.a *~
$(MAKE) clean -C $(IFT_DIR)
我收到错误消息“make: nothing can be done for all。”
【问题讨论】:
-
缩进很重要,但您的帖子中没有任何缩进。是在您的 makefile 中还是在此处发布时出现错误?
-
我不确定你的问题。我实际上正在尝试编写我下载的代码。我在文件夹中有 makefile 以及 msp_bin.c 文件和 msp_bin 文件(它没有扩展名)。自述文件说“只需键入 make,它将编译并生成 msp_bin”。它还询问 zlib1g。我已经安装了。
-
您确定代码尚未构建吗? Make 避免重新构建已经构建的文件,并在发现不需要执行任何操作时发出类似的消息
-
请考虑该软件不是为 MS Windows 编写的并且您无法在那里编译它的可能性。没有文件扩展名“.exe”的可执行文件就是这样一个指标。使用“del”而不是“rm”是一个反指标。无论如何,这样的问题需要minimal reproducible example。但是,也可以考虑向代码供应商提交错误报告。作为这里的新用户,也可以使用tour 并阅读How to Ask。
-
nothing can be done 不是
make生成的实际错误消息。请剪切并粘贴您调用的命令以及运行make时收到的exact 错误消息。
标签: c++ windows makefile gnu-make