2 votes

mongo-c-driver ne trouve pas libbson

J'essaie de construire le pilote mongo-cxx (à terme), et la première étape consiste à construire le pilote mongo-c (qui nécessite libbson).

Je suis sous Windows 10 et j'utilise Visual Studio 2015 comme compilateur. J'ai pu exécuter CMake et construire libbson juste bien tous les projets construits juste bien. Maintenant, j'ai des copies de bson-static-1.0.lib intégré mongo-c-driver/src/libbson/build/Debug/ y mongo-c-driver/src/libbson/build/Release/ . Il semble que tout soit correct.

L'étape suivante consiste à construire le pilote mongo-c-driver. J'ai lancé CMake et j'ai essayé de créer les solutions Visual Studio, mais j'ai eu les erreurs suivantes :

Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing:  OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR) 
Searching for sasl/sasl.h
  Not found (specify -DCMAKE_INCLUDE_PATH=C:/path/to/sasl/include for SASL support)
Searching for libsasl2
  Not found (specify -DCMAKE_LIBRARY_PATH=C:/path/to/sasl/lib for SASL support)
Current version (from VERSION_CURRENT file): 1.3.5
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
BSON (ADVANCED)
    linked by target "mongoc_shared" in directory C:/Users/sdf/Downloads/mongo-c-driver-1.3.5
    linked by target "mongoc_static" in directory C:/Users/sdf/Downloads/mongo-c-driver-1.3.5

Configuring incomplete, errors occurred!
See also "C:/Users/sdf/Downloads/mongo-c-driver-1.3.5/build/CMakeFiles/CMakeOutput.log".

Il semble que la variable BSON n'est pas réglé sur la bonne valeur -- sa valeur est BSON-NOTFOUND en ce moment. Quelqu'un sait-il quelle est la valeur correcte pour BSON et s'il aurait dû être défini automatiquement lors du processus de compilation. libbson ?

1voto

Joyo Waseem Points 490

Une façon intelligente de compiler le pilote MongoDB c++.use vcpkg

Téléchargez vcpkg et suivez les instructions comme mentionné sur git. https://github.com/Microsoft/vcpkg

Étape 1 C:\vcpkg >. \vcpkg recherche mongodb

Étape 2 C :. \vcpkg chercher mongodb installer mongo-cxx-driver

Agrafe 3 C:\vcpkg >. \vcpkg intégrer installer

lien utile. https://stackoverflow.com/a/46981525/8617780

0voto

Veuillez suivre attentivement les instructions "installation sous Windows" :

https://api.mongodb.com/c/current/installing.html#building-Windows

Il semble que vous ayez manqué la partie où vous définissez CMAKE_INSTALL_PREFIX lors de la construction de libbson, puis installez libbson et construisez libmongoc avec le même paramètre CMAKE_INSTALL_PREFIX.

0voto

jean Points 633

Tout d'abord, vous devez construire le projet INSTALL dans libbson sln (exécutez vs en mode admin, car il doit créer les dossiers lib comme sous linux).

Définissez ensuite BSON_INCLUDE_DIR comme le dossier d'inclusion créé par le projet INSTALL et BSON comme le fichier lib que vous avez construit, par exemple. C:/Program Files/libbson/lib/bson-static-1.0.lib dans cmake (ce nom BSON est problématique, il devrait être renommé en BSON_LIB)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X