2012-07-24 22 views
9

gcc 4.5'den gcc 4.6'ya taşındı ve şimdi derleme zamanında kullanılmayan kitaplıklarla (yani, bunlardan hiçbir sembol alınmazsa) bağlantı oluşturmuyor. Bununla birlikte, bu kütüphanelerin amacı, statik yapıcıları çalıştırmaları ve böylece kendilerini çalışma zamanında uygulamada kullanabilmeleridir (sembollerini kaydettirmeleridir).Kullanılmayan paylaşılan kitaplığa karşı bağlantı kurma zorluğu

gcc'nin -l ile listelenen tüm kitaplıklar ile bağlantı kurmasını sağlamanın bir yolu var mı?

+1

bir değişiklik :-) açıklamada bu beni dövmek gibi Ah görünüyor. '-l' bayraklarını '-Wl, -no-as-need' içinde öncelemeyi deneyin (tam sözdizimini hatırlayamıyorum ve hemen bir derleyiciye erişemiyor) – Mat

cevap

9

Tamamen devre dışı bırakmak için -Wl,--no-as-needed gerekiyor gibi görünüyor. Veya, libfoo için "gerektiği gibi" devre dışı bırakmak için --no-as-needed -lfoo --as-needed.

Kaynak: https://lists.ubuntu.com/archives/ubuntu-devel/2010-November/031991.html

DÜZENLEME: Mat aslında `as-needed` seçeneğinde Muhtemelen

+0

Artık yardımcı olmaya çalışmıyor gibi görünüyor. --copy-dt ihtiyaç duyulan-girişlerini. Belki de kaynak dosyalarını yeniden derlemeniz gerekmiyor, sadece yeniden bağlantı kurmaya değil? – queen3

+0

Toplam yeniden yardım sağladı. – queen3

İlgili konular