就像,我认为我很接近......只是不确定我做错了什么,
cfann : main.o
main.o -l libfann
main.o : main.c
gcc -c main.c
clean:
rm -rf *o cfann
我收到此错误:
main.o -l libfann
make: main.o: No such file or directory
make: *** [cfann] Error 1
答案 0 :(得分:4)
变化:
cfann : main.o
main.o -l libfann
为:
cfann : main.o
gcc main.o -lfann -L/usr/local/lib -o cfann
这假设libfann.o在/ usr / local / lib中 - 如果它实际上在其他地方,则更改上面的-L路径。
答案 1 :(得分:3)
您需要替换:
cfann : main.o
main.o -l libfann
有类似的东西:
cfann : main.o
gcc -o cfann -L/path/to/libs main.o -lfann
-L
允许您指定(多个)路径以搜索库,-l
列出库名称。 lib
通常会为您添加前缀,.a
或.so
等可能的扩展名也会为您添加。
您的原始makefile正在尝试运行 main.o
作为命令,而不是它应该运行的gcc
。
答案 2 :(得分:0)
试试这个
cfann : main.o
main.o : main.c
gcc -c main.c -lfann
clean:
rm -rf *o cfann
或者,也许没有空的cfann线
cfann : main.c
gcc -c main.c -lfann
clean:
rm -rf *o cfann