{"id":13418201,"url":"https://github.com/vinniefalco/LuaBridge","last_synced_at":"2025-03-15T03:30:43.211Z","repository":{"id":2962582,"uuid":"3977188","full_name":"vinniefalco/LuaBridge","owner":"vinniefalco","description":"A lightweight, dependency-free library for binding Lua to C++","archived":false,"fork":false,"pushed_at":"2023-07-28T10:20:26.000Z","size":2290,"stargazers_count":1635,"open_issues_count":51,"forks_count":346,"subscribers_count":98,"default_branch":"master","last_synced_at":"2024-10-29T17:57:35.651Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vinniefalco.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2012-04-09T23:49:33.000Z","updated_at":"2024-10-27T08:25:19.000Z","dependencies_parsed_at":"2024-01-08T21:18:58.924Z","dependency_job_id":null,"html_url":"https://github.com/vinniefalco/LuaBridge","commit_stats":{"total_commits":516,"total_committers":29,"mean_commits":17.79310344827586,"dds":"0.36046511627906974","last_synced_commit":"5d21e35633a1f87ed08af115b07d3386096f792b"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinniefalco%2FLuaBridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinniefalco%2FLuaBridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinniefalco%2FLuaBridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinniefalco%2FLuaBridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinniefalco","download_url":"https://codeload.github.com/vinniefalco/LuaBridge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243681024,"owners_count":20330152,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T22:00:59.617Z","updated_at":"2025-03-15T03:30:43.204Z","avatar_url":"https://github.com/vinniefalco.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings","Scripting","C","正则表达式","资源","Resources"],"sub_categories":["脚本","实现, 解释器, 和绑定","Implementations, Interpreters, and Bindings"],"readme":"\u003ca href=\"http://lua.org\"\u003e\n\u003cimg src=\"http://vinniefalco.github.io/LuaBridgeDemo/powered-by-lua.png\"\u003e\n\u003c/a\u003e\u003cbr\u003e\n\n# LuaBridge 2.8\n\n[LuaBridge][1] is a lightweight and dependency-free library for mapping data,\nfunctions, and classes back and forth between C++ and [Lua][2] (a powerful,\nfast, lightweight, embeddable scripting language). LuaBridge has been tested\nand works with Lua revisions starting from 5.1.5, although it should work in\nany version of Lua from 5.1.0 as well as [LuaJit][3].\n\nLuaBridge offers the following features:\n\n- [MIT Licensed][4]\n- A printable [Reference Manual][5].\n- Headers-only: No Makefile, no .cpp files, just one #include!\n- Simple, light, and nothing else needed (like Boost).\n- No macros, settings, or configuration scripts needed.\n- Supports different object lifetime management models.\n- Convenient, type-safe access to the Lua stack.\n- Automatic function parameter type binding.\n- Easy access to Lua objects like tables and functions.\n- Written in a clear and easy to debug style.\n\nPlease read the [LuaBridge Reference Manual][5] for more details on the API.\n\n## Unit Tests\n\nUnit test build requires a CMake and C++11 compliant compiler.\n\nTo enable C++17 features (`std::optional` and `std::string_view`) specify an extra option: `-DLUABRIDGE_CXX17=1`.\n\nThere are the following unit test flavors:\n* `Tests51` - uses Lua 5.1.5\n* `Tests51Cxx17` - uses Lua 5.1.5 and C++17 features\n* `Tests52` - uses Lua 5.2.4,\n* `Tests52Cxx17` - uses Lua 5.2.4 and C++17 features\n* `Tests53` - uses Lua 5.3.6\n* `Tests53Cxx17` - uses Lua 5.3.6 and C++17 features\n* `Tests54` - uses Lua 5.4.4\n* `Tests54Cxx17` - uses Lua 5.4.4 and C++17 features\n\nBuild using Make on Linux/MacOS:\n```bash\nclone --recurse-submodules git@github.com:vinniefalco/LuaBridge.git\ncd LuaBridge\ncmake -DCMAKE_BUILD_TYPE=Debug -B build\n# or cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -B build\n# or cmake -DCMAKE_BUILD_TYPE=Release -B build\ncd build\nmake -j\n```\n\nGenerate XCode project on MacOS:\n```bash\nclone --recurse-submodules git@github.com:vinniefalco/LuaBridge.git\ncd LuaBridge\ncmake -G Xcode -B build\n# Generates XCode project build/LuaBridge.xcodeproj\n```\n\nGenerate MSVS solution on Windows:\n```cmd\nclone --recurse-submodules git@github.com:vinniefalco/LuaBridge.git\ncd LuaBridge\nmkdir build\ncd build\ncmake -G \"Visual Studio 17 2022 Win64\" -B build\n# or cmake -G \"Visual Studio 15 2017 Win64\" -B build\n# or cmake -G \"Visual Studio 14 2015\" -B build\n# or cmake -G \"Visual Studio 15 2017 Win64\" -B build\n# or cmake -G \"Visual Studio 15 2017\" -B build\n# or cmake -G \"Visual Studio 15 2019\" -A Win64 -B build\n# or cmake -G \"Visual Studio 15 2019\" -B build\n# Generates MSVS solution build/LuaBridge.sln\n```\n\n## Installing LuaBridge (vcpkg)\n\nYou can download and install LuaBridge using the [vcpkg](https://github.com/Microsoft/vcpkg) dependency manager:\n```Powershell or bash\ngit clone https://github.com/Microsoft/vcpkg.git\ncd vcpkg\n./bootstrap-vcpkg.sh # The name of the script should be \"./bootstrap-vcpkg.bat\" for Powershell\n./vcpkg integrate install\n./vcpkg install luabridge\n```\n\nThe LuaBridge port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.\n\n\n## Official Repository\n\nLuaBridge is published under the terms of the [MIT License][4].\n\nThe original version of LuaBridge was written by Nathan Reed. The project has\nbeen taken over by [Vinnie Falco][7], who added new functionality, wrote the new\ndocumentation, and incorporated contributions from Nigel Atkinson.\n\nFor questions, comments, or bug reports feel free to open a Github issue\nor contact Vinnie Falco directly at the email address indicated below.\n\nCopyright 2019, Dmitry Tarakanov\u003cbr\u003e\nCopyright 2012, [Vinnie Falco][7] (\u003c[vinnie.falco@gmail.com][8]\u003e)\u003cbr\u003e\nCopyright 2008, Nigel Atkinson\u003cbr\u003e\nCopyright 2007, Nathan Reed\u003cbr\u003e\n\nPortions from The Loki Library:\u003cbr\u003e\nCopyright (C) 2001 by Andrei Alexandrescu\n\nOlder versions of LuaBridge up to and including 0.2 are distributed under the\nBSD 3-Clause License. See the corresponding license file in those versions\n(distributed separately) for more details.\n\n[1]:  https://github.com/vinniefalco/LuaBridge \"LuaBridge\"\n[2]:  http://lua.org \"The Lua Programming Language\"\n[3]:  http://luajit.org/ \"The LuaJIT Probject\"\n[4]:  http://www.opensource.org/licenses/mit-license.html \"The MIT License\"\n[5]:  http://vinniefalco.github.io/LuaBridge \"LuaBridge Reference Manual\"\n[6]:  https://github.com/vinniefalco/LuaBridgeDemo \"LuaBridge Demo\"\n[7]:  https://github.com/vinniefalco \"Vinnie Falco's Github\"\n[8]:  mailto:vinnie.falco@gmail.com \"Vinnie Falco (Email)\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinniefalco%2FLuaBridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinniefalco%2FLuaBridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinniefalco%2FLuaBridge/lists"}