Travis CI - 无法在makefile中运行`c`可执行文件

时间:2015-11-10 14:52:59

标签: c shell makefile travis-ci

我有以下Makefile编译,创建可执行文件然后执行它。

CC=gcc
CFLAGS=-I.
DEPS = hellomake.h
OBJ = hellomake.o hellofunc.o

%.o: %.c $(DEPS)
    $(CC) -c -o $@ $< $(CFLAGS)

hellomake: $(OBJ)
    $(CC) -o $@ $^ $(CFLAGS)
    ./hellomake

它在我的本地计算机上完美运行,当它在Travis中构建时,会出现以下错误。

gcc -o hellomake hellomake.o hellofunc.o -I. hellomake.o: file not recognized: File format not recognized collect2: ld returned 1 exit status make: *** [hellomake] Error 1

1 个答案:

答案 0 :(得分:1)

您的hellofunc.o来自其他系统(请尝试file hellofunc.o)。删除它,然后重新编译它。

您是否正在进行交叉编译?您是否在不同的计算机上安装了主目录?也许在其他架构上解包由其他人制作的档案?