04 64 บิตและพยายามรวบรวมบางสิ่งและในแหล่งที่มาของฉันคือมาโครนี้:
ถ้า(ยูนิกซ์)
# ค้นหา Readline (ไลบรารีอินพุตเทอร์มินัล) รวมและไลบรารี
#
# READLINE_INCLUDE_DIR - ซึ่งสามารถพบไดเร็กทอรีที่มีส่วนหัว READLINE
# READLINE_LIBRARY - เส้นทางแบบเต็มไปยังห้องสมุด READLINE
find_path (READLINE_INCLUDE_DIR อ่านไลน์/readline.h)
find_library (อ่านบรรทัด READLINE_LIBRARY NAMES)
ข้อความ (สถานะ "พบไลบรารีบรรทัดที่อ่าน: ${READLINE_LIBRARY}")
ข้อความ (สถานะ "รวม dir คือ: ${READLINE_INCLUDE_DIR}")
ถ้า (ไม่ READLINE_INCLUDE_DIR หรือไม่ READLINE_LIBRARY)
ข้อความ (FATAL_ERROR "** ไม่พบไลบรารี Readline!\n** distro ของคุณอาจจัดเตรียมไบนารีสำหรับ Readline เช่น สำหรับ ubuntu ลอง apt-get install libreadline5-dev")
เอนดิฟ ()
add_library (readline ที่นำเข้าร่วมกันทั่วโลก)
set_target_properties(อ่านไลน์
คุณสมบัติ
IMPORTED_LOCATION
"${READLINE_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES
"${READLINE_INCLUDE_DIR}")
อื่น()
#จัดเป้าหลอกๆ
add_library (อินเตอร์เฟสอ่านไลน์)
สิ้นสุด ()
แต่มีข้อผิดพลาด:
-- พบห้องสมุด Readline: READLINE_LIBRARY-NOTFOUND
-- รวม dir คือ: /usr/include
CMake Error ที่ dep/readline/CMakeLists.txt:23 (ข้อความ):
** ไม่พบคลัง Readline!
-- การกำหนดค่าไม่สมบูรณ์ เกิดข้อผิดพลาด!
แต่ฉันได้ติดตั้งแล้ว:
libreadline-dev เป็นเวอร์ชันใหม่ล่าสุดแล้ว (8.0-4)
ฉันจะบังคับให้ CMake ใช้ readline ที่ติดตั้งแล้วได้อย่างไร มีแบบนี้ด้วยเหรอ?
cmake ../ -DReadline_LIBRARY=/usr/lib/x86_64-linux-gnu -DReadline_INCLUDE_DIR=/usr/include/readline
มันไม่ได้ผลสำหรับฉัน