Проблема с подключением библиотек в Unreal Engine 4

Всем добрый день! Третий день уже пытаюсь понять как решить проблему с подключением сторонних библиотек в проект Unreal Engine 4.

Задача: Подключить к проекту Mysql Connector C++, на базе коннектора создать класс методы которого будут видны в блу принт. Что бы производить соединение с базой данных.

Думаю задача предельно понятна. Реализация тоже должна быть простой. Но ... нет.. Теперь постараюсь расписать подробно но коротко.

Первое что я сделал это создал проект. Затем прописал во включаемые каталоги VS, каталоги с MySql Connector а так же папку где хранится Boost он необходим для работы Mysql Connector. Далее создал в движке класс и в заголовочном файле прописал

#include <mysql/jdbc.h>

Просто так естественно не сработало. необходимо подключить библиотеки. Что ж ... Поскольку в настройках VS у проекта Unreal Engine нет настроек компоновщика да и вообще по сути почти никаких настроек для подключения библиотек нет. Я написал следующее.

#pragma comment(lib, "mysqlcppconn.lib")
#pragma comment(lib, "mysqlcppconn8.lib")

Урааа заработало! Но нет... Суть в следующем. Сделал функцию прописал коннект к БД и прочее все это работает на ура. Функция вызывается и вроде как счастье рядом. Повесил функцию на кнопку зашел в игру из движка нажал кнопку. Мне функция радостно вывела ID из базы данных. Но когда я попытался упаковать проект в движке меня ждал сюрприз. Далее скриншот как собирался проект и какой сюрприз ждал меня. введите сюда описание изображения введите сюда описание изображения

Данную ошибку mysql/jdbc.h: No such file or directory, я уже видел. Когда тестировал Mysql Connector на тестовом проекте в VS. Вызвана она тем что просто не видит библиотеки ... Начались дни мучительного ковыряния в документации в которой я как новичек ничерта не понимаю и гугление. Нашел информацию что у Unreal Engine свой компановщик. И что если нужно подключить библиотеку отдельно нужно прописать ее в файле Build.cs.

Нашел я вот такую статью в документации UE Ничего не понял но решил пробовать.

Для начала убрал все ссылки на каталоги из настроек которые я прописывал в проекте. Ну кроме Boost. Прописал что то вроде

 PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "mysqlconnector", "lib64", "vs14", "mysqlcppconn.lib"));
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "mysqlconnector", "lib64", "vs14", "mysqlcppconn8.lib"));

PublicDelayLoadDLLs.Add("mysqlcppconn-7-vs14.dll");
PublicDelayLoadDLLs.Add("mysqlcppconn8-2-vs14.dll");

Ну естественно ничего не заработало. Теперь все перестало работать даже в VS. Потом перечитал еще раз документацию и пришел к выводу что что бы подключить сторонние библиотеки в UE нужно создать свой плагин в этом плагине разместить свои библиотеки и в файле Build своего плагина прописать код который указан выше. Так я и сделал. Создал прописал. НЕ РАБОТАЕТ.

Друзья, помогите разобраться и запустить эту фигню. Сил уже нет ничего не понимаю... В документации вижу сплошные фиги как говорится.


Ответы (0 шт):