Как использовать библиотеку С++, написанную в проекте cmake, в другой проект cmake

Я новичок в cmake, и я почти уверен, что это проблема, с которой я сталкиваюсь здесь.

Я пытаюсь использовать библиотеку yaml-cpp, написанную в проекте cmake, в свой собственный cmake. проект. Я запускаю следующие команды для сборки и установки yaml-cpp в его собственном каталоге. mkdir build, cd build, cmake .., make, а затем sudo make install, и после выполнения этих команд ошибок не возникло.

теперь в моем собственном проекте у меня есть файл кода С++ в правильном проекте cmake. Чтобы использовать библиотеку yaml-cpp, я включаю ее в #include "yaml-cpp/yaml.h", а в файл CmakeLists.txt в этом подкаталоге добавляю следующие два:

find_package(yaml-cpp REQUIRED)
target_link_libraries(yaml-cpp)

однако, когда я пытаюсь скомпилировать проект, он дает мне следующий результат:

handstandForm.cpp:(.text+0x4820): undefined reference to `YAML::LoadFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)

Хочу отметить, что проект отлично компилируется и запускается без ошибок при удалении любых строк кода с помощью библиотеки yaml-cpp. В чем может быть проблема? Пожалуйста помоги.


person ShehabAldeen    schedule 28.04.2020    source источник
comment
Отвечает ли это на ваш вопрос? Поиск правильной конфигурации cmake для библиотеки c++ Для команды target_link_libraries() требуется не менее двух аргументов. Первым аргументом должна быть существующая цель CMake, которая будет вашей библиотекой/исполняемым файлом, с которым вы хотите связать библиотеку.   -  person squareskittles    schedule 28.04.2020
comment
нет.   -  person ShehabAldeen    schedule 17.05.2020