Ben'- WI t anlamıyorsun,-rpath -WI,
Kolaylık sağlamak için ilgili aşağıda manpages ekledim.
Benim yanlış anlama ilk: gerekirse ayrı seçenekleri ile ,
, Bu demektir ikinci -Wl
değil başka bir seçenek çünkü gelmeden önce ,
yani bu argüman -rpath
seçeneği.
-rpath
-Wl,.
bir argüman olabileceğini anlamış değilim!
Aklımda mantıklı şey bu olurdu:
-Wl,-rpath .
Bu geçerli bir dizin değişkeni ile-rpath linker seçeneği çağırmak gerekir.
adam gcc:
-WI seçenek
Bu bir seçenek olarak geçiş seçeneği linker. Eğer seçenek virgül içeriyorsa birden fazla seçenek içine de ikiye bölünmüş durumda virgül. Bu sözdizimini kullanabilirsiniz bu seçenek için bir argüman. İçin örneğin,
-Wl,-Map,output.map
geçer Linker-Map output.map
. Ne zaman GNU linker kullanarak da alabilirsiniz aynı etkiye sahip `-WI,-Harita=çıktı.'. göster
adam ld:
-rpath=dir
Bir dizin Ekle kütüphane arama yolu zamanı. Bu bir ELF çalıştırılabilir bağlarken kullanılan Paylaşılan Nesneler. Tüm -rpath değişkenler birleştirilmiş ve geçirilir bunları kullanan bir çalışma zamanı linker, çalışma zamanında paylaşılan nesneleri bulmak için. -Rpath seçeneği de kullanılır bulma nesneler paylaşılan Paylaşılan Nesneler açıkça ihtiyaç duyduğu bağlantıyı yer;
CEVAP
-Wl,xxx
seçeneğigccbu argümanlar boşlukla ayrılmış bir liste olarak belirteçleri virgülle ayrılmış bir liste geçerlinker. Bu yüzden
gcc -Wl,aaa,bbb,ccc
eninde sonunda olur linker bir ara
ld aaa bbb ccc
Sizin söylemek istediğiniz "ld -rpath .
" Bu -Wl,-rpath,.
Alternatif olarak gcc geçmesi, tekrar örnekleri belirtebilirsiniz -Wl
:
gcc -Wl,aaa, -Wl,bbb -Wl,ccc
Ya da senin durumunda, -Wl,-rpath -Wl,.
.
dyld: Kütüphane yüklü değil: @/libswif...
dyld: Kütüphane yüklü değil: @/libswif...