Hello,

I am wanting to create my own C bindings to CSFML, and I have been extremely struggling with this.

There is no resources or tutorials for how to do this so I am basically on my own.

First thing I looked at was `dstep` which helps translate C header files to D language, so I ran `dstep` and translated the C header files to D language. This went well. I ended up wrapping all the code in an `extern(C)` call.

Now, I am trying to 'link' CSFML to my bindings but have been struggling to do so.

I tried to add the following to `dub.json`:

```
"libs": ["csfml-audio", "csfml-graphics"]
```

But it came back with an error:

```
/usr/bin/ld: /home/tom/Desktop/sfmld-backend/out/production/sfmld-backend/obj/sfmld-backend.o: in function `_Dmain':
/home/tom/Desktop/sfmld-backend/source/graphics.d:(.text._Dmain[_Dmain]+0x3a): 
undefined reference to `sfRenderWindow_create'
/usr/bin/ld: /home/tom/Desktop/sfmld-backend/source/graphics.d:(.text._Dmain[_Dmain]+0x58): undefined reference to `sfRenderWindow_isOpen' /usr/bin/ld: /home/tom/Desktop/sfmld-backend/source/graphics.d:(.text._Dmain[_Dmain]+0x69): undefined reference to `sfRenderWindow_pollEvent' /usr/bin/ld: /home/tom/Desktop/sfmld-backend/source/graphics.d:(.text._Dmain[_Dmain]+0x7c): undefined reference to `sfRenderWindow_close' /usr/bin/ld: /home/tom/Desktop/sfmld-backend/source/graphics.d:(.text._Dmain[_Dmain]+0x90): undefined reference to `sfRenderWindow_clear' /usr/bin/ld: /home/tom/Desktop/sfmld-backend/source/graphics.d:(.text._Dmain[_Dmain]+0x99): undefined reference to `sfRenderWindow_display'
collect2: error: ld returned 1 exit status
Error: linker exited with status 1
```

I am really confused as to how I even am supposed to get the library name in the first place, which is another thing that is confusing me.

Any help with this would be appreciated.





Reply via email to