digitalmars.D.learn - Best way to use C library
- Maximilian Naderer (16/16) May 19 2023 Hello guys,
- jmh530 (3/19) May 19 2023 If there are issues using those libraries, you should report the
- user456 (6/22) May 19 2023 If you aim static linking or static binding then you can give
- Guillaume Piolat (15/21) May 22 2023 - Some big libraries are translated, for example
- Theo (3/7) May 22 2023 DConf Online '22 - Translating C to D (Dennis Korpel)
- Maximilian Naderer (5/15) May 24 2023 Thank you very much for the insights so far. I'll check them all
Hello guys, So what’s currently the best way to use a big C library? Let’s assume something like cglm assimp glfw ImportC doesn’t really work for such huge libraries, I’ll investigate further. Deimos is outdated or there are no bindings. I know that there is a dub package for glfw which works fine. But how would I do something for assimp or cglm. The dub assimp package is quite outdated. Am I stuck with manually creating interface files either by hand or automation? I’m hope somebody could give me some insights. Thank you ! Kind regards from Austria Max
May 19 2023
On Friday, 19 May 2023 at 18:31:45 UTC, Maximilian Naderer wrote:Hello guys, So what’s currently the best way to use a big C library? Let’s assume something like cglm assimp glfw ImportC doesn’t really work for such huge libraries, I’ll investigate further. Deimos is outdated or there are no bindings. I know that there is a dub package for glfw which works fine. But how would I do something for assimp or cglm. The dub assimp package is quite outdated. Am I stuck with manually creating interface files either by hand or automation? I’m hope somebody could give me some insights. Thank you ! Kind regards from Austria MaxIf there are issues using those libraries, you should report the bugs.
May 19 2023
On Friday, 19 May 2023 at 18:31:45 UTC, Maximilian Naderer wrote:Hello guys, So what’s currently the best way to use a big C library? Let’s assume something like cglm assimp glfw ImportC doesn’t really work for such huge libraries, I’ll investigate further. Deimos is outdated or there are no bindings. I know that there is a dub package for glfw which works fine. But how would I do something for assimp or cglm. The dub assimp package is quite outdated. Am I stuck with manually creating interface files either by hand or automation? I’m hope somebody could give me some insights. Thank you ! Kind regards from Austria MaxIf you aim static linking or static binding then you can give [dstep](https://github.com/jacob-carlborg/dstep) a shot. Otherwise and if you have the time to then dont forget to report the problems founds when you have tried ImportC.
May 19 2023
On Friday, 19 May 2023 at 18:31:45 UTC, Maximilian Naderer wrote:Hello guys, So what’s currently the best way to use a big C library? Let’s assume something like cglm assimp glfw- Some big libraries are translated, for example https://code.dlang.org/packages/glfw-d was created with both manual work and ctod (https://forum.dlang.org/thread/hfpirezenlabjqtwejyk forum.dlang.org) Even then it is pretty manual and AI barely help with D. - Some libraries can be loaded with BindBC (typically dynamically) so that you can use existing builds. https://code.dlang.org/search?q=bindbc Creating a new BindBC-style package is typically manual but normally low maintenance after the fact. Now, if using a complex C++ libraries involves inlined C++ types, it will be a lot harder to create a nice D port. A library like cglm almost must be ported, a bindings won't help here, since it's probably lots of inlined C++ types in headers. You can use the package inmath instead.
May 22 2023
On Friday, 19 May 2023 at 18:31:45 UTC, Maximilian Naderer wrote:.. I’m hope somebody could give me some insights. Thank you ! Kind regards from Austria MaxDConf Online '22 - Translating C to D (Dennis Korpel) https://www.youtube.com/watch?v=654rSPaIA0o
May 22 2023
On Monday, 22 May 2023 at 22:22:50 UTC, Theo wrote:On Friday, 19 May 2023 at 18:31:45 UTC, Maximilian Naderer wrote:Thank you very much for the insights so far. I'll check them all out! BR, Max.. I’m hope somebody could give me some insights. Thank you ! Kind regards from Austria MaxDConf Online '22 - Translating C to D (Dennis Korpel) https://www.youtube.com/watch?v=654rSPaIA0o
May 24 2023