sdasdadas sdasdadas - 1 year ago 76
C Question

Why can't gcc find my static library?

I am trying to link the cspec library into my C project. This is my Makefile located in the tests folder:

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

rm -rf *o test

My directory is:


When I run make I receive the following error:

gcc -Wall -o test sample.o -L ../lib/cspec -llibcspec.a
/usr/bin/ld: cannot find -llibcspec.a

I have made sure that the the libcspec.a file is located in the lib/cspec folder but to be sure I have also tried placing it within the tests folder and removing the -L command, to no avail.

Answer Source


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


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

(By convention, gcc and other *nix compilers automatically add the lib prefix and the appropriate suffix.)

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download