Score:0

คุณจะรวบรวม glibc (32 บิตและ 64 บิต) ได้อย่างไร

ธง de

ฉันมีโปรแกรมที่กำลังส่งออกสำหรับแพลตฟอร์ม Linux หลายตัวและต้องการให้รวบรวมการอ้างอิงทั้งหมดภายในไฟล์เรียกทำงานเอง

ฉันได้รวบรวมว่าต้องรวบรวมไลบรารี *.a ที่อยู่ในโฟลเดอร์ภายในโครงการเพิ่ม "-I//location//" สำหรับส่วนหัวรวมและ "-L//location //" เพิ่มในห้องสมุดเอง

แต่สำหรับคำถามนั้น...

คุณจะรวบรวม glibc (32 บิตและ 64 บิต) ได้อย่างไร

จากการวิจัยแบบโอเพ่นซอร์ส ฉันพบลิงก์นี้และฉันได้คัดลอก repo แล้ว แต่ไม่พบเอกสารใดๆ เกี่ยวกับวิธีการคอมไพล์จริง

โคลนคอมไพล์ git://sourceware.org/git/glibc.git

ถ้าให้เจาะจงกว่านี้ ฉันไม่พบข้อมูลว่าจะใช้พารามิเตอร์ใด

muru avatar
us flag
ฉันคิดว่าคุณต้องการสร้างไฟล์ปฏิบัติการที่เชื่อมโยงแบบคงที่ของโปรแกรมของคุณ ไม่ใช่ไปสร้าง libc
de flag
กรุณาอธิบาย. ตอนนี้ ฉันมี OpenSSL (libcrypto.a & libssl.a) เวอร์ชันแก้ไขในโครงการของฉัน และด้วยเหตุนี้ฉันจึงเชื่อมโยงแบบคงที่ ฉันได้รับข้อผิดพลาดที่ "แอปพลิเคชันที่เชื่อมโยงแบบสแตติกต้องการไลบรารีที่ใช้ร่วมกันจากรุ่น glibc ที่ใช้สำหรับการเชื่อมโยงในขณะรันไทม์" การแปลของฉัน: OpenSSL แบบคงที่ของฉันไม่สามารถใช้ glibc แบบไดนามิกได้ จะต้องรวบรวมและเชื่อมโยงแบบไดนามิกด้วย หรือการแปลของฉันมีข้อบกพร่อง?
hr flag
ข้อผิดพลาดอ้างถึงการเรียกฟังก์ชันไดนามิกเฉพาะ (เช่น `getaddrinfo` หรือ `gethostbyname`) หรือไม่ ดูเหมือนว่าสิ่งนี้อาจเกี่ยวข้อง: [รวบรวมไบนารีแบบสแตติกซึ่งมีรหัสฟังก์ชัน gethostbyname](https://stackoverflow.com/a/15165424/4440445)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา