C:如何制作允许链接到外部库的 makefile?

问题描述 投票:0回答:3

就像,我想我已经接近了……只是不确定我做错了什么,

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
c makefile
3个回答
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 路径。


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 所做的是尝试将 run

main.o
作为命令,而不是它应该运行的
gcc


0
投票

试试这个

cfann : main.o

main.o : main.c
    gcc -c main.c -lfann

clean: 
    rm -rf *o cfann

或者,也许没有空的 cfanni 行

cfann : main.c
    gcc -c main.c -lfann

clean: 
    rm -rf *o cfann
© www.soinside.com 2019 - 2024. All rights reserved.