The C++ Language Module for Plugify enables developers to write plugins in C++ for the Plugify framework. This module provides a seamless integration for C++ plugins, allowing them to be dynamically loaded and managed by the Plugify core.
- C++ Plugin Support: Write your plugins in C++ and integrate them effortlessly with the Plugify framework.
- Automatic Exporting: Easily export and import methods between plugins and the language module.
- Initialization and Cleanup: Handle plugin initialization, startup, and cleanup with dedicated module events.
- Interoperability: Communicate with plugins written in other languages through auto-generated interfaces.
- C++ Compiler with C++20 support
- Plugify Framework Installed
You can install the C++ Language Module using the Plugify plugin manager by running the following command:
plg install plugify-module-cpp
-
Clone this repository:
git clone https://github.com/untrustedmodders/plugify-module-cpp.git --recursive cd plugify-module-cpp
-
Build the C++ language module:
mkdir build && cd build cmake .. cmake --build .
-
Integration with Plugify
Ensure that your C++ language module is available in the same directory as your Plugify setup.
-
Write C++ Plugins
Develop your plugins in C++ using the Plugify C++ API. Refer to the Plugify C++ Plugin Guide for detailed instructions.
-
Build and Install Plugins
Compile your C++ plugins and place the shared libraries in a directory accessible to the Plugify core.
-
Run Plugify
Start the Plugify framework, and it will dynamically load your C++ plugins.
#include <plugify/cpp_plugin.hpp>
#include <plugin_export.h>
#include <iostream>
class ExamplePlugin : public plugify::IPluginEntry {
public:
void OnPluginStart() override {
std::cout << "Example Start!" << std::endl;
}
void OnPluginEnd() override {
std::cout << "Example End!" << std::endl;
}
} g_examplePlugin;
EXPOSE_PLUGIN(PLUGIN_API, &g_examplePlugin)
For comprehensive documentation on writing plugins in C++ using the Plugify framework, refer to the Plugify Documentation.
Feel free to contribute by opening issues or submitting pull requests. We welcome your feedback and ideas!
This C++ Language Module for Plugify is licensed under the MIT License.