04 64 de biți și încercând să compilez ceva și în sursele mele este această macrocomandă:
if( UNIX )
# find Readline (biblioteca de intrare terminal) include și bibliotecă
#
# READLINE_INCLUDE_DIR - unde poate fi găsit directorul care conține antetele READLINE
# READLINE_LIBRARY - calea completă către biblioteca READLINE
găsire_cale(READLINE_INCLUDE_DIR readline/readline.h)
find_library(READLINE_LIBRARY NAMES readline)
mesaj(STATUS „Arată bibliotecă Readline: ${READLINE_LIBRARY}”)
mesaj(STATUS „Include director este: ${READLINE_INCLUDE_DIR}”)
dacă (NU READLINE_INCLUDE_DIR SAU NU READLINE_LIBRARY)
mesaj(FATAL_ERROR "** Biblioteca Readline nu a fost găsită!\n** Distro-ul dvs. poate oferi un binar pentru Readline, de exemplu, pentru ubuntu, încercați apt-get install libreadline5-dev")
endif ()
add_library(readline SHARED IMPORTATE GLOBAL)
set_target_properties(readline
PROPRIETĂȚI
IMPORTED_LOCATION
„${READLINE_LIBRARY}”
INTERFACE_INCLUDE_DIRECTORIES
„${READLINE_INCLUDE_DIR}”)
else()
# Furnizați o țintă falsă
add_library(readline INTERFACE)
endif()
Dar există o eroare:
-- Bibliotecă Readline găsită: READLINE_LIBRARY-NOTFOUND
-- Include dir este: /usr/include
Eroare CMake la dep/readline/CMakeLists.txt:23 (mesaj):
** Biblioteca Readline nu a fost găsită!
-- Configurare incompletă, au apărut erori!
Dar il am instalat:
libreadline-dev este deja cea mai nouă versiune (8.0-4).
Cum pot forța CMake să folosească readline deja instalat? Există așa ceva?
cmake ../ -DReadline_LIBRARY=/usr/lib/x86_64-linux-gnu -DReadline_INCLUDE_DIR=/usr/include/readline
Nu a funcționat pentru mine.