On Sunday, 14 April 2019 at 19:46:41 UTC, Ron Tarrant wrote:
On Monday, 8 April 2019 at 19:54:28 UTC, WhatMeWorry wrote:
[...]

Just so you know who I am and what my experience is:

I've only been using D for a few months and so far, I've only dabbled in dub. I used to write a blog for PHP-GTK years ago, but now I'm writing one based on GtkD.

I was asked early on why I'm not using dub and the short answer is: I don't understand it (either).

Today I decided I'd get back to my notes on dub (which is leading to a blog post on how to use it) but during a search, I turned up a thread on here talking about how dub needs an overhaul... or at least, a tune-up.

But I carried on anyway and did a few more experiments with dub. However, I ran into a mystery while compiling one of my GtkD test files...

The first time I compiled it (using dub, of course) it compiled without complaint.

Then I decided to see if I could change the name of the central source file from app.d to main.d and added a line to the dub.sdl file like this:

mainSourceFile "main.d"

After attempting to compile and realizing this was wrong, I read the docs on .sdl files and found that all I had to do is change the name of the file. No mention of this change is needed in dub.sdl.

So, I tried that and got the warning:

warning LNK4255: library contain multiple objects of the same name; linking object as if no debug info

So, I changed it all back to the way it was, but still got the warning.

And this warning also comes up whenever I try to compile a single-file dub project (where the sdl args are framed in /+ +/ at the top of file.d).

At that point, with this mystery warning, the talk of dub needing an overhaul, and the number of new-ish D programmers who just don't understand dub, I decided to, once again, put my blog post on dub on the back burner.

All this to say: I feel your pain and hope you can find a way to keep on keeping on, with or without dub.

You are totally right, it should be more intuitive how to use dub.

As far as I know if you do not specify in dub.json/dub.sdl what type of package you have (executable/library) dub make a guess. Is there an app.d it will default the targetType "executable", if not it will default the targetType "library".

To solve your specify the targetType explicitly in your dub.sdl file.

https://dub.pm/package-format-json.html#target-types

Kind regards
Andre

Reply via email to