Итак, последние несколько часов я пытался выяснить, как использовать классы C ++, содержащиеся в статических (или динамических) библиотеках, изнутри Lua. Я нашел несколько пакетов, таких как LunaFive или SimpleCppBinding , но мне кажется, что я не понимаю, как их правильно использовать. Из того, что я вижу, есть главная функция, поэтому я предполагаю, что это не библиотека, а исполняемый файл, который я запускаю, а затем запускаю скрипт Lua, который перехватит приложение и получит класс, или что-то еще? Что я в основном хочу сделать, это:
- создать библиотеку, содержащую, например, класс 'Player' в C ++
- изменить эту библиотеку, чтобы ее можно было использовать из Lua
- каким-то образом использовать этот класс и его методы из Lua так же, как если бы это был класс Lua
Такое вообще возможно? И если да, то может ли кто-нибудь объяснить, как это можно сделать?
В настоящее время я нахожусь в Windows, но я могу сделать это и в Linux. В Windows я использую VS, в Linux я бы использовал CLion в паре с g ++. Lua 5.3.
Я не уверен, что это несколько уместно, но я разрабатываю игровой режим для FiveM (многопользовательский клиент GTA V). FiveM поставляется с поддержкой Lua для скриптинга по умолчанию, но я бы хотел использовать некоторые стандартные библиотеки и функции C ++. Поэтому я бы очень хотел создать несколько библиотек для сервера на C ++, а затем использовать их из Lua, поставляемого FiveM.