2010-08-07 15 views
6

मैं "सामान्य" निर्देशिका वृक्ष (अर्थात, /custom/dir/usr के बजाय), जो कि एक समस्या के ज्यादा नहीं है बाहर बूस्ट का निर्माण करने के लिए है: बस ./runscript.sh/./bjam को --prefix=/custom/path गुजरती हैं, और वहाँ तुम जाओ।आरपीएथ का उपयोग करने के लिए बूस्ट को कैसे मजबूर किया जाए?

या तो मैंने सोचा। ऐसा लगता है कि --prefix पथ पुस्तकालय खोज पथ को बूस्ट libs के लिए नहीं जोड़ा गया है - डिफ़ॉल्ट निर्माण प्रक्रिया ./bootstrap.sh/./bjam माध्यम से जा रहा का उपयोग कर -

समस्या

कि बूस्ट पुस्तकालयों में से कुछ एक दूसरे पर निर्भर है, और है यानी -Wl,-rpath लागू किया गया है। इसका मतलब है कि अन्य बूस्ट पुस्तकालयों के आधार पर बूस्ट पुस्तकालयों को रनटाइम पर नहीं मिल सकता है।

मेरा आवेदन - (यानी बूस्ट libs के लिए सही रास्ता है, मैं दोबारा जांच पहले से ही ./configure चरण में विफल रहता है क्योंकि libboost_filesystem.solibboost_system.so, भी हालांकि मैं -Wl,-rpath=/custom/path/boost/lib मेरे अपने संकलक लाइन के लिए पारित नहीं मिल सकता है - उन /custom/path बूस्ट पुस्तकालयों को जोड़ने कि libboost_system.so वहां है)।

अब LD_LIBRARY_PATH सेट करने जैसे भारी हाथों से बचने के लिए, मैं बूस्ट को इस तरह से बनाना चाहता हूं ताकि सभी बूस्ट पुस्तकालयों में उनके द्वारा संकलित अन्य बूस्ट लिबियों के लिए उचित खोज पथ हो। हालांकि, मैं इसके लिए उचित प्रक्रिया नहीं ढूंढ पाया। कोई भी मेरी मदद कर सकता हैं?

उत्तर

5

आप संकलक & लिंक विकल्प निर्माण के दौरान कमांड लाइन से साथ जोड़ सकते हैं:

bjam dll-path=/custom/path 

इस बारे में डॉक्स बूस्ट बिल्ड (BBv2 docs देखें) में एक पूछे जाने वाले प्रश्न आइटम नहीं है।

+0

उत्कृष्ट, धन्यवाद! – DevSolar

+2

अहम ... स्पष्ट रूप से यह बूस्ट 1.45.0 (सटीक उसी आमंत्रण) के साथ काम करना बंद कर दिया। मुझे 1.45.0 में किसी भी प्रासंगिक बदलाव का उल्लेख नहीं मिला; क्या आप घटना से ज्यादा जानते हैं? – DevSolar

+0

एचएम, आप इस पर से अधिक नहीं जानते हैं। लेकिन अगर यह काम करना बंद कर दिया, तो मैं इसे एक बग मानता। और इस तरह की सूचना दी जानी चाहिए। – GrafikRobot

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

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