2010-06-06 15 views
29

मैं इसे बनाया जाने के बाद एक डाइलीब के स्थापित पथ को बदलने की कोशिश कर रहा हूं। वर्तमान पथ क्या है यह देखने के लिए मैं otool -L का उपयोग करता हूं। और फिर मैं कार्य करें:install_name_tool का उपयोग क्या गलत हो रहा है?

$ install_name_tool -change /my/current/path/libmine.dylib \ 
    /my/new/path/libmine.dylib libmine.dylib 

मैं एक त्रुटि नहीं मिलता है, लेकिन कुछ भी बदल जाता है। यदि मैं फिर से पथ की जांच करता हूं तो पुराना अभी भी वहां है। इसके अलावा नया पथ बहुत छोटा है तो पुराना है, इसलिए कोई समस्या नहीं है, और मुझे लगता है कि lib को अधिक फ़ाइलपैथ स्पेस के लिए अतिरिक्त ध्वज के साथ भी संकलित किया गया है।

कोई भी विचार?

+2

बस इंस्टॉल नाम की जांच करने के लिए, 'otool -D' का उपयोग करें। – JWWalker

उत्तर

51

install_name_tool के लिए मैन पेज कहता है कि -change निर्भरताओं के लिए है। आप लाइब्रेरी का नाम बदलना चाहते हैं।

अभी प्रयोग करने के बाद, मैंने पाया कि मैं डिलिब के अंदर दिखाई देने वाले डाइलिब का नाम नहीं बदल सका लेकिन मैं अन्य निर्भरताओं के नाम बदल सकता हूं।

अधिक प्रयोग करने के बाद: install_name_tool -id newname file चाल करेगा।

+1

धन्यवाद मैंने अनदेखा किया क्योंकि मुझे मिले सभी उदाहरण कोड निर्भरताओं से संबंधित थे। –

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