मैं जंग के साथ स्थैतिक निष्पादन योग्य बनाने की कोशिश कर रहा हूं। मैं किसी विशेष लाइब्रेरी को स्थिर रूप से लिंक करने का प्रयास नहीं कर रहा हूं, मैं एक निष्पादन योग्य बनाने की कोशिश कर रहा हूं जो सभी पर डायनामिक लिंकिंग का उपयोग नहीं करता है।स्थिर रूप से जुड़े निष्पादन योग्य कैसे उत्पन्न करें?
$ cat hello.rs
fn main()
{
print!("Hello, world!\n");
}
$ rustc hello.rs -o hello
$ file hello
hello: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, [etc]
नोट dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2
: मैं निम्नलिखित (अन्यथा काम) परीक्षण किया है। स्टेटिक एक्जिक्यूटिव्स के बजाय statically linked
है। (और मेरे मामले corrupted section header size
में, हालांकि मुझे सुखद चकित अगर मैं कि को दोहराने के लिए जंग समझा सकते हो जाएगा।)
क्या विकल्प मैं स्थूलता के लिए rustc
को पारित करने के लिए यह एक वास्तविक स्थिर निष्पादन उत्पन्न करने के लिए प्राप्त करने के लिए (की आवश्यकता है : एक जो भी file
सहमत है सांख्यिकीय रूप से जुड़ा हुआ है)।
शायद -सी लिंक-आर्ग = '...' विकल्प आप मदद कर सकते हैं? – llogiq
ध्यान दें कि आपका प्रश्न केवल लिनक्स से संबंधित है - AFAIK, [आप ओएस एक्स पर निष्पादन योग्य रूप से लिंक नहीं कर सकते] [https://developer.apple.com/library/mac/qa/qa1118/_index.html)। मैं विंडोज के बारे में निश्चित नहीं हूँ। – Shepmaster
आप ग्लिब विह जंग के बजाय musl का उपयोग करना चाहेंगे [https://github.com/rust-lang/rust/pull/24777) –