Sel*_*ied 4 c ubuntu makefile math.h
我在尝试编译在Ubuntu上使用exp函数的程序时遇到了一些麻烦.我从gcc得到这个错误:
selied@Apolo:~/Dropbox/practicas UAM/Neuro/practica3$ make
gcc -lm -o retropropagacion retropropagacion.o
retropropagacion.o: In function `main':
/home/selied/Dropbox/practicas UAM/Neuro/practica3/retropropagacion.c:177: undefined reference to `exp'
/home/selied/Dropbox/practicas UAM/Neuro/practica3/retropropagacion.c:186: undefined reference to `exp'
/home/selied/Dropbox/practicas UAM/Neuro/practica3/retropropagacion.c:297: undefined reference to `exp'
/home/selied/Dropbox/practicas UAM/Neuro/practica3/retropropagacion.c:306: undefined reference to `exp'
collect2: ld devolvió el estado de salida 1
make: *** [retropropagacion] Error 1
Run Code Online (Sandbox Code Playgroud)
在这里,我向您展示我的makefile.
CC = gcc
LDLAGS = -lm
CFLAGS = -Wall -g
EXE = retropropagacion normalizar
OBJ =
INC =
compile : $(EXE)
clean :
@echo Borrando archivos temporales...
rm -f *~ *.o core $(EXE)
help :
@echo
backpropagation :
./retropropagacion entrada.txt 0 0 salida.txt
and :
./retropropagacion and.dat 0 0 salida_and.txt
$(EXE) : % : %.o $(OBJ)
$(CC) $(LDLAGS) -o $@ $@.o $(OBJ)
%.o : %.c $(INC)
$(CC) $(CFLAGS) -c $<
Run Code Online (Sandbox Code Playgroud)
此外,我已经包含在我的头文件的顶部,它可以在另一台计算机上运行.
你知道发生了什么吗?
$(CC) $(LDLAGS) -o $@ $@.o $(OBJ)
Run Code Online (Sandbox Code Playgroud)
应该
$(CC) -o $@ $@.o $(OBJ) $(LDLAGS)
Run Code Online (Sandbox Code Playgroud)
是否-l可以在目标文件之前给出标志取决于GCC版本.