Я получаю следующую ошибку:
--Configuring incomplete, errors occurred!
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
See also "C:/Users/GyuriX/.CLion2016.1/system/cmake/generated/Projects-33418280/33418280/Debug/CMakeFiles/CMakeOutput.log".
Please set them or make sure they are set and tested correctly in the CMake files:
BSON_LIBRARY
linked by target "Projects" in directory D:/DEV/C/Projects
MONGODB_LIBRARY
linked by target "Projects" in directory D:/DEV/C/Projects
Makefile:443: recipe for target 'cmake_check_build_system' failed
mingw32-make.exe: *** [cmake_check_build_system] Error 1
Когда я пытаюсь скомпилировать простую программу Hello World, используя следующий файл CMakeLists.txt:
cmake_minimum_required(VERSION 2.8)
project(Projects)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
include_directories(C:/mongo-c-driver/lib)
find_library(MONGODB_LIBRARY mongoc-1.0)
find_library(BSON_LIBRARY bson-1.0)
add_executable(Projects ${SOURCE_FILES})
target_link_libraries(Projects ${MONGODB_LIBRARY} ${BSON_LIBRARY})
Я собрал необходимые библиотеки на основе того, что сказал вики mongodb, поэтому у меня есть файлы библиотеки:
Файлы, которые я скомпилировал
Таким образом, вопрос в том, что я делаю неправильно и что я должен делать, чтобы иметь возможность использовать mongodb в CLion.
Сообщение об ошибке означает, что find_library
не удается найти запрошенные библиотеки.
Когда вы устанавливаете библиотеки в каталоги не по умолчанию (согласно скриншоту, это C:\mongo-c-driver\bin
), вам нужно find_library()
где это надо искать.
Один из возможных способов — установить переменную CMake. CMAKE_LIBRARY_PATH:
set(CMAKE_LIBRARY_PATH "C:\\mongo-c-driver\\bin")
# Now find_library should be able to find libraries
find_library(MONGODB_LIBRARY mongoc-1.0)
find_library(BSON_LIBRARY bson-1.0)
Есть и другие способы подсказки find_library
, увидеть его документация об алгоритме поиска, который он использует.
Других решений пока нет …