Я установил драйвер Mongo C в Ubuntu 16.04 с помощью команды:
sudo apt-get install libmongoc-1.0-0
Когда я пытаюсь скомпилировать с помощью cmake, я получаю следующие ошибки:
rolf@ubuntu2:~/src/test$ cmake .
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:4 (find_package):
By not providing "Findlibmongoc-1.0.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"libmongoc-1.0", but CMake did not find one.
Could not find a package configuration file provided by "libmongoc-1.0"
(requested version 1.7) with any of the following names:
libmongoc-1.0Config.cmake
libmongoc-1.0-config.cmake
Add the installation prefix of "libmongoc-1.0" to CMAKE_PREFIX_PATH or set
"libmongoc-1.0_DIR" to a directory containing one of the above files. If
"libmongoc-1.0" provides a separate development package or SDK, be sure it
has been installed.
-- Configuring incomplete, errors occurred!
See also "/home/rolf/src/test/CMakeFiles/CMakeOutput.log".
rolf@ubuntu2:~/src/test$ apt list --installed
Мне кажется, что проблема с установкой драйвера C, или это может быть cmake?
Файл cmake, который я использую:
cmake_minimum_required(VERSION 6.5)
# Specify the minimum version you require.
find_package (libmongoc-1.0 1.7 REQUIRED)
message ("-- mongoc found version \"${MONGOC_VERSION}\"")
message ("-- mongoc include path \"${MONGOC_INCLUDE_DIRS}\"")
message ("-- mongoc libraries \"${MONGOC_LIBRARIES}\"")
# sample program
add_executable (error-example error-example.c)
target_include_directories (error-example PRIVATE "${MONGOC_INCLUDE_DIRS}")
target_link_libraries (error-example PRIVATE "${MONGOC_LIBRARIES}")
target_compile_definitions (error-example PRIVATE "${MONGOC_DEFINITIONS}")
Есть какой-то шаг, который я забыл? Идеи приветствуются.
Обновление
Я нашел ссылки на файл pkg-config и libmongoc-1.0.pc в другом посте и проверил это:
rolf@lme-u1604:~$ pkg-config --cflags --libs libmongoc-1.0
Package libmongoc-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libmongoc-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libmongoc-1.0' found
rolf@lme-u1604:~$
Я проверил всю ФС и файла .pc там нет. Если это действительно проблема, какой процесс должен это создать и как мне это исправить?