2010-08-07 20 views
6

derdin o kadar değil "olağan" dizin ağacı (yani /custom/dir yerine /usr ait), dış Boost oluşturmak zorunda: Sadece ./runscript.sh/./bjam için --prefix=/custom/path geçmek ve oraya gidin. Ya da öyle düşündüm. --prefix yol Boost kütüphanelerini için kütüphane arama yoluna eklenmez görünüyor - ./bootstrap.sh/./bjam geçiyor varsayılan derleme işlemi kullanılarak -Boost, rpath'i kullanmaya nasıl zorlanır?

sorun Boost kütüphaneleri bazıları birbirlerine bağlıdır ve olmasıdır Yani -Wl,-rpath uygulanmamıştır. Bu, diğer Boost kitaplıklarına bağlı olarak Boost kitaplıklarının bunları çalışma zamanında bulamaması anlamına gelir.

başvurum - olanlar /custom/path Boost kütüphaneleri bağlama - libboost_filesystem.solibboost_system.so, bile olsa ben kendi derleyici hattına -Wl,-rpath=/custom/path/boost/lib geçti bulamadığından zaten ./configure aşamada başarısız (yani Boost kütüphanelerini doğru yolu, ben iki kez kontrol Bu libboost_system.so oradadır.

Şimdi, LD_LIBRARY_PATH ayarı gibi ağır yöntemlerden kaçınmak için, Boost'u tüm Boost kitaplıklarının kendilerine derlenmiş diğer Boost kitaplıkları için uygun arama yoluna sahip olacak şekilde yapılandırmak istiyorum. Ancak bunun için uygun prosedürü bulamadım. Birisi bana yardım edebilir mi?

cevap

5

Sen ile komut satırından inşa sırasında derleyici & bağlantı seçenekleri ekleyebilirsiniz:

bjam dll-path=/custom/path 

bu konuda Boost Yapı docs (BBv2 docs bakınız) bir SSS öğesi var.

+0

Mükemmel, teşekkürler! – DevSolar

+2

Ahem ... görünüşe göre bu 1.00.0 Boost (tam aynı çağrı) ile çalışmayı durdurdu. 1.45.0 ile ilgili herhangi bir değişiklikten sözedemedim; Benim yaptığımdan daha fazlasını biliyor musun? – DevSolar

+0

Hm, bundan daha fazlasını bilmiyorum. Ama eğer çalışmayı bıraktıysa, bunun bir hata olduğunu düşünürdüm. Ve böyle bildirilmelidir. – GrafikRobot

İlgili konular