Я использую CLion на El Capitan. Теперь мне нужно использовать функцию readline и add_history в моем проекте. Но компоновщик жалуется ниже.Какую библиотеку я должен включить в CLion для включения readline
Undefined symbols for architecture x86_64:
"_add_history", referenced from:
_main in lisp_3.c.o
"_readline", referenced from:
_main in lisp_3.c.o
ld: symbol(s) not found for architecture x86_64
Я могу справиться с ней, добавив -ledit
флаг при компиляции вручную или связывая libedit.tbd в Xcode, но CLion использует CMake. Поэтому я не знаю, какую библиотеку я должен добавить в CMakeLists.txt.
Это первый раз, когда я использовал CMake для создания проекта. И я мог следовать только то, что он сделал в этом вопросе How to include C static libraries in CMAKE project on MAC OS X
cmake_minimum_required(VERSION 3.3)
project(test)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set(SOURCE_FILES read.c)
add_executable(test ${SOURCE_FILES})
find_library(readline_lib /* what can I place here?*/)
set(frameworks ${readline_lib})
target_link_libraries(test ${frameworks})
Что вы пробовали? Покажите нам ваш CMakeLists.txt. Вероятно, вам нужно использовать 'target_link_library', но на ваш вопрос не хватает усилий и достаточно информации. – usr1234567
Вы читали документацию find_library? https://cmake.org/cmake/help/v3.3/command/find_library.html – usr1234567