04 64bit и пытаюсь что-то скомпилить и в моих исходниках есть такой макрос:
если (ЮНИКС)
# найти Readline (библиотека ввода терминала) включает и библиотеку
#
# READLINE_INCLUDE_DIR - где можно найти каталог, содержащий заголовки READLINE
# READLINE_LIBRARY - полный путь к библиотеке READLINE
find_path(READLINE_INCLUDE_DIR readline/readline.h)
find_library(READLINE_LIBRARY NAMES строка чтения)
сообщение (СТАТУС "Найдена библиотека Readline: ${READLINE_LIBRARY}")
сообщение (СТАТУС "Включить каталог: ${READLINE_INCLUDE_DIR}")
если (НЕ READLINE_INCLUDE_DIR ИЛИ НЕ READLINE_LIBRARY)
сообщение (FATAL_ERROR "** Библиотека Readline не найдена!\n** Ваш дистрибутив может предоставить двоичный файл для Readline, например, для Ubuntu попробуйте apt-get install libreadline5-dev")
конец ()
add_library (readline SHARED IMPORTED GLOBAL)
set_target_properties (чтение строки
ХАРАКТЕРИСТИКИ
IMPORTED_LOCATION
"${READLINE_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES
"${READLINE_INCLUDE_DIR}")
еще()
# Укажите фиктивную цель
add_library(readline ИНТЕРФЕЙС)
конец()
Но есть ошибка:
-- Найдена библиотека Readline: READLINE_LIBRARY-NOTFOUND
-- Включаемый каталог: /usr/include
Ошибка CMake в dep/readline/CMakeLists.txt:23 (сообщение):
** Библиотека Readline не найдена!
-- Настройка не завершена, произошли ошибки!
Но у меня установлено:
libreadline-dev уже является самой новой версией (8.0-4).
Как я могу заставить CMake использовать уже установленную строку чтения? Есть ли что-то подобное?
cmake ../ -DReadline_LIBRARY=/usr/lib/x86_64-linux-gnu -DReadline_INCLUDE_DIR=/usr/include/readline
Это не сработало для меня.