ฉันกำลังมีปัญหาในส่วนหัวของแฟ้ม math.h sqrt(d)
และเมื่อฉันใช้ฟังก์ชั่นรากที่สองในขณะที่ แต่คอมไพเลอร์ของฉันไม่สนับสนุนสิ่งนี้ โปรดแนะนำฉันเกี่ยวกับปัญหานี้
รุ่น Ubuntu ของฉันคือ 2012
gcc
บน Ubuntu .
ฉันกำลังมีปัญหาในส่วนหัวของแฟ้ม math.h sqrt(d)
และเมื่อฉันใช้ฟังก์ชั่นรากที่สองในขณะที่ แต่คอมไพเลอร์ของฉันไม่สนับสนุนสิ่งนี้ โปรดแนะนำฉันเกี่ยวกับปัญหานี้
รุ่น Ubuntu ของฉันคือ 2012
gcc
บน Ubuntu .
คำตอบ:
ผนวก-lm
กับจุดสิ้นสุดของคุณgcc
คำสั่ง
ด้วย GCC รุ่นล่าสุดทั้งหมดในระบบ GNU / Linux เช่น Ubuntu เมื่อคุณใช้ไลบรารีคณิตศาสตร์คุณจะต้องเชื่อมโยงกับมันอย่างชัดเจน มันไม่ได้เชื่อมโยงโดยอัตโนมัติพร้อมกับส่วนที่เหลือของไลบรารี C มาตรฐาน
หากคุณกำลังรวบรวมในบรรทัดคำสั่งด้วยgcc
หรือg++
คำสั่งที่คุณจะทำได้โดยการวาง-lm
ในตอนท้ายของคำสั่ง
ตัวอย่างเช่น: gcc -o foo foo.c -lm
หากคุณกำลังจะรวบรวมโปรแกรม C ที่มีmath.h ไลบรารี่ใน LINUX โดยใช้ GCC หรือ G ++ คุณจะต้องใช้ตัวเลือก–lmหลังจากคำสั่งคอมไพล์
gcc xyz.c -o xyz -lm
ที่นี่
gccเป็นคำสั่งคอมไพเลอร์ (ชื่อคอมไพเลอร์)
xyz.cเป็นชื่อไฟล์ต้นฉบับ
-oเป็นตัวเลือกในการระบุไฟล์ที่ส่งออก
xyzเป็นชื่อของไฟล์ที่ส่งออก
-lmเป็นตัวเลือกในการเชื่อมโยงไลบรารีคณิตศาสตร์ ( libm )
สำหรับรายละเอียดเพิ่มเติมที่นี่คือลิงค์ที่มีบทความฉบับสมบูรณ์
การคอมไพล์โปรแกรม C ด้วย math.h ใน Linux