Имею следующий код в CMakeLists.txt
cmake_minimum_required (VERSION 3.8)
project ("Halberd")
set(CURL_PATH "E:\\CPP_LIBS\\curl\\Release")
find_library(
LIB_CURL
NAMES
curl
PATHS
${CURL_PATH}/lib
${CURL_PATH}/include
)
add_executable(
API
${CMAKE_CURRENT_SOURCE_DIR}/Halberd/source/API/API.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Halberd/source/API/API.h
)
target_link_libraries(API ${LIB_CURL})
По пути CURL_PATH
находится собранная под винду библиотека Curl.
Получаю ошибку:
Не понимаю что не так.
Вам надо использовать модуль CMake под названием - find_package ссылка - https://cmake.org/cmake/help/v3.0/command/find_package.html
пример :
find_package(package_name)
Эта утилита ищет библиотеку и возвращает уже готовые переменные для линковки.
Если библиотека найдена, то будут добавленные переменные типа *_ENABLE по которой Вы сможете определить, что библиотека найдена.
А вообще правила FindXXXX.cmake очень гибкие - Вы можете написать даже свое (если вы поставили библиотеку по кастомному пути)
Вот пример как найти curl
set(CURL_LIBRARY "-lcurl")
find_package(CURL REQUIRED)
add_executable (test test.cpp)
if(LIBCURL_ENABLE)
include_directories(${CURL_INCLUDE_DIR})
target_link_libraries(test ${CURL_LIBRARIES})
endif()
т.к. у Вас скорее всего win32 судя по вопросу, стоит добавить еще такой ключик перед началом поиска в find_package
if(WIN32)
add_definitions("-DCURL_STATICLIB")
endif()
Если Вам интересно посмотреть на сам модуль поиска curl - то вот он на github - https://github.com/Kitware/CMake/blob/master/Modules/FindCURL.cmake
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как можно считать нажатие клавиши за одно, а не в стандартной форме: сигнал - пауза - сигнал (пока происходит нажатие)?
Пытаюсь хранить в контейнере абстрактный тип "Weapon", но возникает ошибкаКод: