c - make:系统找不到指定的文件(错误2)
问题描述
我正在尝试在 Windows 上编译一个 C 程序以在 linux 开发板上使用。当我尝试使用 makefile 进行编译时,我得到以下输出:
$ make
arm-linux-gnueabihf-gcc -g -Wall main.c -o filetest
process_begin: CreateProcess(NULL, arm-linux-gnueabihf-gcc -g -Wall main.c -o filetest, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [filetest] Error 2
filetest
无论在同一目录中是否存在名为的空白文件,都会发生这种情况。如果它存在,我可以运行make clean
,它会删除该文件。这是我正在使用的makefile:
#
TARGET = filetest
ALT_DEVICE_FAMILY ?= soc_cv_av
SOCEDS_ROOT ?= $(SOCEDS_DEST_ROOT)
HWLIBS_ROOT = $(SOCEDS_ROOT)/ip/altera/hps/altera_hps/hwlib
CROSS_COMPILE = arm-linux-gnueabihf-
CFLAGS = -g -Wall -D$(ALT_DEVICE_FAMILY) -I$(HWLIBS_ROOT)/include/$(ALT_DEVICE_FAMILY) -I$(HWLIBS_ROOT)/include/
LDFLAGS = -g -Wall
CC = $(CROSS_COMPILE)gcc
ARCH= arm
build: $(TARGET)
#
$(TARGET):main.c
$(CC) $(LDFLAGS) $^ -o $@
%.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
.PHONY: clean
clean:
rm -f $(TARGET) *.a *.o *~
我在我的实际生成文件中使用了制表符,而不是上面的代码块的空格 ^^ 另外,我正在英特尔的 FPGA SoC EDS 中为 Cyclone V 板工作。
解决方案
推荐阅读
- excel - 为每个打开的工作簿执行功能
- arrays - 如何读取 Json 中的特定列表
- python - 如何列出模块所依赖的用户创建的 python 文件?
- typescript - 除了 tsc,还有其他 TypeScript 工具吗?
- google-sheets - SUBSTITUTE 错误:“超过 50000 个字符的限制”——当文本字符串只有 4000 个字符时
- java - 检测是否已生成文件并将文件从一个目录移动到另一个目录
- c - 如何从精灵调用和编译函数到我的二进制文件?
- c# - 在 UWP 项目中将文件上传到 WebDAV
- go - 迭代时删除字典键是否安全?
- vb.net - 如何让这些循环停止组合结果?