Почему драйвер Mongo C ++ дает мне ошибки компиляции?

0

Я установил mongo прямо из github, используя

sudo scons --full install

и имеют следующий пример исходного файла

#include <cstdlib>
#include <iostream>
#include <mongo/client/dbclient.h>

void run() {
  mongo::DBClientConnection c;
  c.connect("localhost");
}

int main() {
  try {
    run();
    std::cout << "connected ok" << std::endl;
  } catch( const mongo::DBException &e ) {
    std::cout << "caught " << e.what() << std::endl;
  }
  return EXIT_SUCCESS;
}

Когда я бегу

g++ tutorial.cpp -pthread -lmongoclient -lboost_thread-mt -lboost_filesystem 
-lboost_program_options -lboost_system -o tutorial

Мне дана ошибка

In file included from /usr/local/include/mongo/util/net/hostandport.h:21:0,
                 from /usr/local/include/mongo/util/net/message.h:24,
                 from /usr/local/include/mongo/client/dbclientinterface.h:30,
                 from /usr/local/include/mongo/client/connpool.h:23,
                 from /usr/local/include/mongo/client/dbclient.h:32,
                 from tutorial.cpp:3:
/usr/local/include/mongo/db/server_options.h:34:51: fatal error: 
mongo/util/options_parser/environment.h: No such file or directory
compilation terminated.

Я просмотрел /usr/local/include/mongo/util, но папка options_parser там отсутствует.

Теги:
compiler-errors

1 ответ

1

У меня была такая же ошибка, после того, как я написал на сайте MongoDB. То, что я закончил, это копирование заголовков из каталога загрузки в мой каталог include. Т.е.

    sudo cp -R ~/Downloads/mongo-master/src/mongo/util/options_parser /usr/local/include/mongo/util/

Где mongo-master - это имя извлеченного каталога из MongoDB GitHub. Надеюсь, это поможет вам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню