2016-06-29 18 views
2

ich die folgende Störung erhalte:Clion mongodb Abhängigkeit Setup

--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 

Wenn ich versuche, nur ein einfaches Hallo Welt Programm mit dem folgenden CMakeLists.txt zu kompilieren:

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}) 

ich zusammengestellt haben die benötigte Bibliotheken basierend auf dem, was das mongodb Wiki gesagt hat, also habe ich die Bibliotheksdateien: The files I have compiled

Also ist die Frage, was mache ich wro ng und was sollte ich tun, um den Mongodb in CLion verwenden zu können?

Antwort

3

Fehlermeldung bedeutet, dass find_library die angeforderten Bibliotheken nicht finden kann.

Wenn Sie Bibliotheken in nicht standardmäßige Verzeichnisse installieren (gemäß dem Screenshot ist es C:\mongo-c-driver\bin), müssen Sie für find_library() angeben, wo es suchen soll.

Eine Möglichkeit ist CMake Variable CMAKE_LIBRARY_PATH zu setzen:

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) 

Es gibt andere Art und Weise für Hinweis auf find_library finden its documentation über Suchalgorithmus verwendet es.

+1

Vielen Dank für die Antwort, die Sie mir auch geholfen haben, nicht nur C Guy :) – gyurix