我在尝试在 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
这里我向你展示我的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 $@ [email protected] /cdn-cgi/l/email-protection $(OBJ)
%.o : %.c $(INC)
$(CC) $(CFLAGS) -c $<
另外,我在头文件的顶部包含了它,它可以在另一台计算机上运行。
你知道发生了什么事吗?
$(CC) $(LDLAGS) -o $@ [email protected] /cdn-cgi/l/email-protection $(OBJ)
应该
$(CC) -o $@ [email protected] /cdn-cgi/l/email-protection $(OBJ) $(LDLAGS)
Whether -l
可以在目标文件之前给出标志,具体取决于 GCC 版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)