20

cspecライブラリをCプロジェクトにリンクしようとしています。これは、testsフォルダーにある私の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フォルダーにあることを確認しましたが、testsフォルダー内に配置し、-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 に答える