2012-08-29 32 views
13

मैं अपने सी प्रोजेक्ट में सीएसपीसी लाइब्रेरी को जोड़ने की कोशिश कर रहा हूं।मेरी स्थिर पुस्तकालय क्यों नहीं मिल सकता है?

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 

मेरे निर्देशिका है: यह मेरा Makefile परीक्षण फ़ोल्डर में स्थित है

/ 
/src 
/lib 
/lib/cspec 
/tests 

जब मैं मैं निम्न त्रुटि प्राप्त कर चलाएँ:

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

मुझे लगता है कि यकीन है कि बना दिया है libcspec.a फ़ाइल lib/cspec फ़ोल्डर में स्थित है लेकिन यह सुनिश्चित करने के लिए कि मैंने इसे परीक्षण फ़ोल्डर में रखने और -L कमांड को हटाने का भी प्रयास नहीं किया है, इसका कोई फायदा नहीं हुआ है।

+0

अंतरिक्ष निकालने का प्रयास करें '-L' के बाद। – jmkeyes

+1

@ जोशुआ के: नहीं - '-L' के बाद सफेद स्थान वैकल्पिक है और इसमें कोई फर्क नहीं पड़ता। '-I' के लिए डितो। –

उत्तर

26

बदलें:

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

रहे हैं:

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

(सम्मेलन, जीसीसी और अन्य * nix compilers द्वारा स्वचालित रूप से lib उपसर्ग और उचित प्रत्यय जोड़ें।)

+2

रुको, उसने काम किया (संपादित)! धन्यवाद! – sdasdadas

संबंधित मुद्दे