अगर मैं एक पुस्तकालय का निर्माण करता हूं (उदाहरण के लिए क्वांटलिब: http://sourceforge.net/projects/quantlib/files/QuantLib/1.2/QuantLib-1.2.tar.gz/download), मैं देखता हूं कि मेरा उपयोगकर्ता आईडी निर्मित पुस्तकालय में एन्कोड किया गया है।
./configure --prefix=/usr/local --with-boost-include=/usr/include/boost --with-boost-lib=/usr/lib && make -j3 && sudo make install
$ grep rajanikanth /usr/local/lib/libQuantLib.*
Binary file /usr/local/lib/libQuantLib.a matches
Binary file /usr/local/lib/libQuantLib.so matches
Binary file /usr/local/lib/libQuantLib.so.0 matches
Binary file /usr/local/lib/libQuantLib.so.0.0.0 matches
क्या यह सामान्य है?
क्या उपयोगकर्ता आईडी को स्थानीय रूप से निर्मित पुस्तकालय में प्रदर्शित होने से रोकने के लिए वैसे भी है?
धन्यवाद, राज
उत्तर:
उत्तर № 1 के लिए 1मैं देखता हूं कि मेरा उपयोगकर्ता आईडी निर्मित पुस्तकालय में एन्कोड किया गया है।
यह सबसे अधिक संभावना है क्योंकि
- आपने पुस्तकालय को COPTS= के साथ बनाया है
-O2 -g
(जो सबसे डिफ़ॉल्ट हैconfigure
के साथ निर्माण करते समय स्क्रिप्ट का उपयोग किया जाएगाgcc
)। - आपने इसे अपने होम डायरेक्टरी में बनाया है, जो इस तरह दिखता है
/home/rajanikanth
या कुछ ऐसे
क्या उपयोगकर्ता आईडी को स्थानीय रूप से निर्मित पुस्तकालय में प्रदर्शित होने से रोकने के लिए वैसे भी है?
आप गैर-डीबग संस्करण बनाकर इससे बच सकते हैं (make -j3 CFLAGS=-O2
), या इसे "जेनेरिक" निर्देशिका में बनाकर, उदा। /tmp/build-quantlib