Ссылка на внешнюю библиотеку, установленную из Homebrew - PullRequest
0 голосов
/ 03 мая 2020

Я загрузил с помощью Homebrew этот репозиторий: https://github.com/nlohmann/json

brew tap nlohmann/json
brew install nlohmann-json

Теперь я хочу связать этот пакет с моим проектом. Я создал CMakeFile, например:

set(BINARY ${CMAKE_PROJECT_NAME})
set(SOURCES read_json_file.cpp)

add_executable(${BINARY}_run ${SOURCES})
add_library(${BINARY}_lib STATIC ${SOURCES})

find_package(nlohmann_json 3.2.0 REQUIRED)

set(PATH_JSON_LIB "/usr/local/Cellar/nlohmann-json/3.7.3/include/nlohmann")
add_library(json_to_include ${PATH_JSON_LIB}/json.hpp)

target_link_libraries(${BINARY}_run PRIVATE json_to_include)

Я новичок в CMake, и я не уверен, имеет ли смысл то, что я сделал, но при запуске make я получаю:

-- Configuring done
CMake Error: Cannot determine link language for target "json_to_include".
CMake Error: CMake can not determine linker language for target: json_to_include
-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
The terminal process terminated with exit code: 1

В репозитории они предлагают просто добавить это в CMake:

# CMakeLists.txt
find_package(nlohmann_json 3.2.0 REQUIRED)
...
add_library(foo ...)
...
target_link_libraries(foo PRIVATE nlohmann_json::nlohmann_json)

Но я не знаю, что должно быть после библиотеки foo в add, и она сейчас не работает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...