g ++

2011-05-26 21 views
52

içinde kitaplıklara nasıl bir yol ekleyebilirim Makefile'mdeki fazladan kitaplıklara yol eklemeye çalışıyorum, ancak derleyicinin bu yolu nasıl kullanacağını anlayamıyorum. Bugüne kadar ben:g ++

g++ -g -Wall testing.cpp fileparameters.cpp main.cpp -o test 

ve ben testing.cpp o kitaplıktan dosyaları içerdiğinden

/data[...]/lib 

yolunu dahil etmek istiyoruz. Ayrıca linux makinesindeyim.

DÜZENLEME: Kitaplığa giden yol değil. Sadece dahil olan dosyalara. Benim hatam.

+0

Olası yinelenen gibi bir şey olduğunu düşünüyorum [g ++ belirli bir dizindeki başlık dosyaları aramak nasıl yapılır?] (Https://stackoverflow.com/questions/12654013/ nasıl yapılır-make-g-arama-için-header-in-a-özel-dizin) –

cevap

99

(ikili) kütüphaneler aramak için dizin belirtmek için, sadece -L kullanın:

-L/data[...]/lib 

gerçek kitaplık adı belirtmek için, -l kullanın:

-lfoo # (links libfoo.a or libfoo.so) 

bir dizin belirtmek için 'u aramak için dosyalarını (kütüphanelerden farklı olarak) içerirsiniz -I:

-I/data[...]/lib 

yüzden ne istediğini ait

g++ -g -Wall -I/data[...]/lib testing.cpp fileparameters.cpp main.cpp -o test 
+1

Bunu derleyici komutuma nereye koyarım? – mrswmmr

+2

Temelde ihtiyaç duyulandan önce bir yere; Örneğin, -c, .cpp dosya adlarından önce gelmelidir. –

+0

Yardımlarınız için teşekkürler! – mrswmmr