20

我正在尝试将 cspec 库链接到我的 C 项目中。这是我位于测试文件夹中的 Makefile:

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

我已确保 libcs​​pec.a 文件位于 lib/cspec 文件夹中,但为了确保我也尝试将其放在测试文件夹中并删除 -L 命令,但无济于事。

4

1 回答 1

44

改变:

gcc -Wall -o test sample.o -L ../lib/cspec -llibcspec.a

至:

gcc -Wall -o test sample.o -L ../lib/cspec -lcspec

(按照惯例,gcc 和其他 *nix 编译器会自动添加lib前缀和适当的后缀。)

于 2012-08-29T21:58:38.443 回答