วิธีการติดตั้งไลบรารี C ++ (เช่น Blitz ++) ในไดเร็กทอรีเฉพาะ (ในที่ไม่ต้องใช้สิทธิ์ sudo) บน Linux [ซ้ำ]

Dec 30 2020

ฉันพยายามดูลิงก์บางส่วนในไซต์นี้ สิ่งที่ใกล้เคียงที่สุดที่ฉันพบคือปัญหานี้แต่ฉันก็ยังไม่สามารถแก้ปัญหาได้

ฉันเป็นคนใหม่สำหรับสิ่งนี้ แต่โดยพื้นฐานแล้วฉันตั้งใจจะติดตั้งไลบรารีBlitz ++สำหรับ C ++ บน Linux

ตอนนี้ฉันได้ทำไปแล้วครั้งหนึ่งโดยทำตามคำแนะนำของที่เก็บ GitHubโดยที่คำสั่งต่อไปนี้จะติดตั้ง Blitz ++ บนระบบที่เหมือน Unix:

mkdir build      # Inside the cloned Github repo
cd build
cmake ..
make lib
sudo make install

sudoสิ่งเดียวที่ฉันพยายามที่จะทำที่นี่คือการหลีกเลี่ยงการใช้ เท่าที่ฉันเข้าใจคำสั่งนั้นจะติดตั้งไฟล์และไลบรารีภายในไดเร็กทอรีที่ต้องการสิทธิ์ sudo ยอมรับการปรับเปลี่ยนใด ๆ (แก้ไขฉันถ้าฉันผิดฉันไม่ชำนาญที่นี่) แต่บอกว่าฉันต้องการติดตั้งไลบรารีในไดเร็กทอรี I ที่ฉันมีสิทธิ์เพื่อหลีกเลี่ยงการใช้sudo?

ฉันจะติดตั้งไลบรารีดังกล่าวในโฮมไดเร็กทอรีบน Linux โดยไม่ต้องเรียกใช้ได้sudoอย่างไร

ฉันรู้ว่าสำหรับไลบรารี C ++ อื่นมี.configureไฟล์อยู่ในไดเร็กทอรีที่เกี่ยวข้องและโดยการพิมพ์บางอย่างตามบรรทัดของ./configure --prefix=<directory_path>(เนื่องจากไดเร็กทอรีการทำงานปัจจุบันเป็นไดเร็กทอรีไลบรารี) จะอนุญาตให้ติดตั้งไลบรารีในพา ธ ที่ระบุ

แต่ฉันไม่สามารถหาวิธีทำสิ่งที่คล้ายกับ Blitz ++ ได้ตลอดชีวิตเนื่องจากไม่มี.configureไฟล์ใด ๆ เลย อาจมีวิธีอื่น แต่ฉันขาดความรู้ในด้านนี้อย่างที่สุด ความช่วยเหลือใด ๆ ที่ได้รับการชื่นชม


นอกจากนี้หากใครมีลิงก์หรือแหล่งข้อมูลที่ช่วยในการทำความเข้าใจวิธีการทำงานของไลบรารี C ++ และวิธีการติดตั้งโดยทั่วไปตลอดจนทรัพยากร C ++ อื่น ๆ ที่แนะนำเราจะยินดีมากหากคุณแจ้งให้เราทราบหากไม่ใช่เรื่องไม่สะดวก ขออภัยในความผิดพลาดและความไม่รู้ของฉัน

คำตอบ

1 BoR Dec 30 2020 at 03:11

นี่เป็นคำถาม CMake จริงๆ คุณกำลังมองหาCMAKE_INSTALL_PREFIX ตัวอย่าง:

mkdir build      # Inside the cloned Github repo
cd build
cmake -DCMAKE_INSTALL_PREFIX=<directory_path> ..
make lib
make install