On Monday, 17 September 2018 at 03:16:33 UTC, spikespaz wrote:
There is a project that I wish to use from D
(https://ultralig.ht).
It's Electron, but with forked WebKit and the samples are very,
very fast.
This is a great compromise between wanting to have a very
custom interface and not wanting to use the slow
Electron/Sciter/Awesomium/WebView.
I am having trouble porting the C headers though. Firstly, I
barely know C at all, especially not enough to do this. The
extent of my C knowledge is terminal TicTacToe game I made
three years ago.
I tried using all of the conversion tools under the
"Interfacing with C" page of the wiki, but I'm getting import
errors. Probably because the paths are all using "<>",
expecting an include path from the compiler. I tried to solve
this by refractoring the imports to use relative quoted paths.
But even when I fixed that, I kept hitting miscellaneous
problems with MSVC, LLVM, and every other dependency under the
sun those conversion tools needed. So I figured that Windows
was just a crappy ecosystem, and tried it on Linux. No easier.
So now I'm here, a C noob, really wanting to use Adam's great
project from the D language. The only barrier is my lack of
knowledge in C. And I definitely do not have the means to port
these headers by hand.
Could one of you give me pointers about how to go about this? I
have the dynamic link libraries, the static libraries, and the
header includes.
https://github.com/ultralight-ux/ultralight
https://github.com/ultralight-ux/ultralight-0.9-api
FYI, those are C++ headers, not C. The page you read will get you
part of the way there, but the Interfacing to C++ page would be
more relevant:
https://dlang.org/spec/cpp_interface.html
Of course, if you don't know C++ that will only get you so far.
If these were C headers, I'd just go ahead and translate them
myself, but C++ headers will require a higher time investment
from me because I'm not up to speed on the current state of D's
C++ interface. There are people here who are more well informed
who might be able to help, but it's going to require more than a
few tips in a forum post.