I don't have time right now to give a complete answer, but this link may help you. It's for c linking, but you can easily extend it to cpp.
[https://nim-lang.org/docs/backends.html#backend-code-calling-nim-nim-invocation-example-from-c](https://nim-lang.org/docs/backends.html#backend-code-calling-nim-nim-invocation-example-from-c)
