Próbuję połączyć bibliotekę cspec z moim projektem C. To jest mój Makefile znajduje się w folderze testy:Dlaczego gcc nie może znaleźć mojej biblioteki statycznej?
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
Mój katalog jest:
/
/src
/lib
/lib/cspec
/tests
Kiedy biegnę zrobić pojawia się następujący błąd:
gcc -Wall -o test sample.o -L ../lib/cspec -llibcspec.a
/usr/bin/ld: cannot find -llibcspec.a
Zrobiłem pewien, że plik libcspec.a znajduje się w folderze lib/cspec, ale mam pewność, że próbowałem go umieścić w folderze testów i usunąć polecenie -L, bezskutecznie.
Spróbuj usunąć przestrzeń po '-L'. – jmkeyes
@Joshua K: no - biała spacja po '-L' jest opcjonalna i nie robi różnicy. Ditto dla '-I'. –