Использование коннектора С++ для доступа к базе данных MYSQL (как добавить путь к моему стандартному каталогу поиска)

Я относительно новичок в программировании и C++ и только начал изучать MYSQL. Я искал пару дней, но не смог найти решение. Я обычно использую Cygwin&VIM&g++ для написания, компиляции и запуска кода, который я пишу.

Моя цель - получить данные из базы данных MYSQL, которую я настроил на своем ноутбуке, и иметь возможность запускать простой алгоритм для этих данных и, возможно, обновлять базу данных.

Я зашел на веб-сайт MYSQL, просмотрел учебные пособия и нашел пример здесь. У меня загружены Boost, Connector, MYSQL server lib. Когда я запускаю его, я получаю сообщение об ошибке: «connection.h» не найден. Я уверен, что это потому, что когда я его компилирую, g++ не добавляет местоположение библиотеки к пути поиска, по которому она проходит. В примере есть что-то вроде:

#include <cppconn/conneciton.h>

где эти угловые скобки означают, что будет выполняться поиск (после текущего каталога) в стандартном каталоге поиска. Я предполагаю, что мне нужно добавить новый путь (местоположение, где находятся библиотеки), чтобы компилятор просматривал этот стандартный каталог и компилировал заголовок.

Через поиск в Google я думаю, что в g++ я могу использовать -Ldir -I, чтобы добавить новый путь поиска, но я не понимаю, как его использовать. Может ли кто-нибудь объяснить/показать мне (на примере), как справиться с этой проблемой? :(


person Min Joon So    schedule 13.01.2018    source источник


Ответы (1)


Проблема #include будет решена с помощью -I (-L для библиотеки, если она необходима, но сначала вам нужно выполнить компиляцию).

Вам нужно выяснить, где были установлены заголовки (скорее всего, где-то в /usr/include или /usr/local/include/), а затем добавить -I к этому каталогу, также может быть, что вам нужно установить разработку пакет, многие дистрибутивы * nix разделены на основе различий во времени выполнения и времени сборки.

И обратите также внимание на -I, что пакет может сделать что-то вроде установки в /usr/include/libraryname/libname_version/libname, в таком случае вам нужно будет добавить только -I/usr/include/libraryname/libname_version/, а затем в ваш исходный файл имеет #include

person SoronelHaetir    schedule 13.01.2018