VisualD Projects

Mr.Bingo Bingo at Namo.com
Mon Jul 16 16:47:03 UTC 2018


On Monday, 16 July 2018 at 05:54:46 UTC, Samsinsane wrote:
> On Thursday, 12 July 2018 at 07:48:15 UTC, Rainer Schuetze 
> wrote:
>>
>>
>> On 11/07/2018 11:10, Samsinsane wrote:
>>> Hi there,
>>> 
>>> I'm looking to evaluate D for work purposes but I've hit a 
>>> stumbling block. I'd really like to integrate D into our 
>>> existing code base using the mixed projects that VisualD 
>>> supports. Unfortunately, I can't seem to find any information 
>>> on how to consume D libraries, such as vibe.d. I've 
>>> "imported" vibe.d, and added the 15 import paths until it 
>>> stopped complaining about missing files, and now I'm just 
>>> getting missing symbol errors.
>>> 
>>> This all feels much harder than it really should be, so I'm 
>>> guessing I've missed something. Can someone please point me 
>>> in the right direction?
>>> 
>>> Regards,
>>> Sam
>>
>> As Mr.Bingo pointed out, it is probably best to copy the 
>> settings from the dub-generated visualdproj projects. Please 
>> especially check the versions defined in the separate projects.
>>
>> Linking should be no problem, as this is using the VC++ 
>> linking mechanism, i.e. you either specify library inputs on 
>> the Linker->Input page or add the library projects as 
>> "References".
>
> Thanks for the help, I really appreciate it! Regarding the 
> "References" system, when I click "Add Reference" I don't see 
> any of the 'visualdproj' projects - should I?
>
> After a few hours of fiddling around I finally have it working. 
> There's a number of configuration issues with consuming vibe.d 
> with VisualD. Five of the projects just fail to build if the 
> compile and link stage is separate, and the format of the lib 
> file is incorrect by default (OMF instead of COFF). vibe.d 
> appears to have a prebuilt dependency (OpenSSL) and that it's 
> in OMF format too, but there's a configuration option for using 
> the COFF version instead. As for the issue with vibe.d not 
> building, DMD v2.081.0 had a regression that was fixed in 
> v2.081.1 - I was just unlucky enough to grab v2.081.0 the day 
> before the fix was released.

Yes, these are "types" of problems you will experience with D. It 
is actually a very poorly(very is probably too strong but) 
designed tooling. It's typical 80's command line crap that gets a 
nice gui around it.

There is just a lot of problems with the D ecosystem but 
generally you can fix them with a little elbow grease and 
possibly some help on the forums(the forums tend to be helpful).

Really, the only thing that makes D shine is the language itself. 
All the tools are pretty much sub-par compared to what is offered 
in the world today. The good news is that once you get things 
setup generally they will work until you hit some bug where you 
have to upgrade. Upgrading can require one to remember all the 
hacks that were required to get it up in the first place, which 
can be a pain.

My strategy is this; I have a directory where all D things go. 
Even stuff like MS linker and mscoff files are copied to this dir 
in various locations. Everything sorted out properly.

This master directory then can be archived so that snapshots in 
time can be taken. Any time I upgrade D I always back up the 
directory and go about it.

Things in D slowly get better but it can actually take decades 
for some things to get fixed.

Note that D on windows is less used and hence generally has more 
problems.

The point what I'm saying is that D does have problems but it 
also does work and the language is amazing(well, you can do some 
amazing things with it that you simply won't get anywhere else).

If your "lucky" the problems you experienced here will be it, but 
chances are you will have similar "bumps" along the way. The 
problems will shift around from tooling to language issues(there 
are still plenty of compiler bugs that usually creep in once you 
get advanced enough to expose them(start using parts of the 
language which are not used as much)).




More information about the Digitalmars-d-ide mailing list