我正在尝试将cspec库链接到我的C项目中。这是我的Makefile,位于tests文件夹中:
all: test
test: sample.o
gcc -Wall -o test sample.o -L ../lib/cspec -llibcspec.a
sample.o: sample.c
gcc -Wall -c sample.c -I../lib/cspec
clean:
rm -rf *o test
我的目录是:
/
/src
/lib
/lib/cspec
/tests
当我运行make时,我收到以下错误:
gcc -Wall -o test sample.o -L ../lib/cspec -llibcspec.a
/usr/bin/ld: cannot find -llibcspec.a
我确保libcspec.a文件位于lib / cspec文件夹中,但是为了确保我也尝试将它放在tests文件夹中并删除-L命令,但无济于事。
答案 0 :(得分:32)
变化:
gcc -Wall -o test sample.o -L ../lib/cspec -llibcspec.a
为:
gcc -Wall -o test sample.o -L ../lib/cspec -lcspec
(按照惯例,gcc和其他* nix编译器会自动添加lib
前缀和相应的后缀。)