What's the best way to create a toolbox that relies on a C library?

3 次查看(过去 30 天)
I want to create a toolbox that is essentially a wrapper for the API of a C shared/dynamic library. Obviously, the library needs to be built for the respective target system (Linux/Windows/Mac). I guess I could simply include binaries for the most common configurations in the toolbox archive, but that seems ham-fisted and is certainly not going to cover all user environments.
I know that in Python you can build the dependencies of a package during the installation process. Is there any equivalent process in MATLAB? Or is there any other best practice regarding this problem?

采纳的回答

Simon Stone
Simon Stone 2021-6-10
编辑:Simon Stone 2021-6-10
I ended up writing some code to build the library using system() calls. The toolbox is essentially a single class and when it gets instantiated, the ctor checks whether the binary library file exists and otherwise calls the function to build it from source.
Don't know if that's the best way, but it seems to be working. Thanks to CMake, it's also fairly easy to do platform-independently. But it does require the user to install some software beyond Matlab, namely CMake and some compiler.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by