2012-08-29 20 views
13

Cspec kitaplığını C projemle ilişkilendirmeye çalışıyorum.Neden gcc statik kütüphanemi bulamıyor?

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 

Benim dizinidir: Bu testler klasöründe bulunan benim Makefile olan

/ 
/src 
/lib 
/lib/cspec 
/tests 

aşağıdaki hatayı alırsınız yapmak çalıştırdığınızda: Ben emin yaptık

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

libcspec.a dosyası lib/cspec klasöründe bulunur, ancak emin olmak için sınama klasörüne yerleştirmeyi ve -L komutunu kaldırmayı denemedim.

+0

boşluk kaldırmayı deneyin -L'den sonra. – jmkeyes

+1

@Joshua K: Hayır - -L 'sonra beyaz boşluk isteğe bağlıdır ve fark etmez. -Onun için ditto. –

cevap

26

Değişimi:

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

için:

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

(kongre, gcc ve diğer * Nix derleyici tarafından otomatik olarak lib önek ve uygun soneki ekleyin.)

+2

Bekleyin, bu işe yaradı (düzenlenmiş)! Teşekkürler! – sdasdadas

İlgili konular