Re: ImportC "no include path set"

2024-06-22 Thread Lance Bachmeier via Digitalmars-d-learn

On Saturday, 22 June 2024 at 10:47:42 UTC, bachmeier wrote:

I don't normally use Dub for this reason (it takes longer for 
me to figure out how to create the dub.json than it's worth). 
I'd expect "dflags" to work, but I haven't tried, and I'm not 
sure how much of ImportC even works with GDC.


It doesn't seem to be documented, but there is a `cImportPaths` 
argument, which presumably does what you want: 
https://github.com/dlang/dub/blob/a8da51eb8a5485956622282f2339ec5a39c8c761/source/dub/recipe/json.d#L233


Re: ImportC "no include path set"

2024-06-22 Thread bachmeier via Digitalmars-d-learn

On Friday, 21 June 2024 at 17:40:39 UTC, mw wrote:

On Monday, 6 February 2023 at 14:35:53 UTC, bachmeier wrote:

On Monday, 6 February 2023 at 06:55:02 UTC, Elfstone wrote:


So how am I supposed to set the include path?


https://dlang.org/spec/importc.html#preprocessor

The -Ppreprocessorflag switch passes preprocessorflag to the 
preprocessor.


So if you normally use `-I/foo`, you'd add `-P-I/foo`.


How to do this in the dub.json file? and work across 
DMD/LDC/GDC?


Thanks.


I don't normally use Dub for this reason (it takes longer for me 
to figure out how to create the dub.json than it's worth). I'd 
expect "dflags" to work, but I haven't tried, and I'm not sure 
how much of ImportC even works with GDC.


Re: ImportC "no include path set"

2024-06-21 Thread mw via Digitalmars-d-learn

On Monday, 6 February 2023 at 14:35:53 UTC, bachmeier wrote:

On Monday, 6 February 2023 at 06:55:02 UTC, Elfstone wrote:


So how am I supposed to set the include path?


https://dlang.org/spec/importc.html#preprocessor

The -Ppreprocessorflag switch passes preprocessorflag to the 
preprocessor.


So if you normally use `-I/foo`, you'd add `-P-I/foo`.


How to do this in the dub.json file? and work across DMD/LDC/GDC?

Thanks.


Re: ImportC "no include path set"

2023-02-09 Thread Guillaume Piolat via Digitalmars-d-learn

On Wednesday, 8 February 2023 at 14:08:47 UTC, bachmeier wrote:
this looks like one of those "death by paper cut" things. It 
has the smell of a rough edge that needs fixing.


It's the one reason I haven't even tried ImportC. I still wonder 
why I need to provide those headers while for linking MSVC is 
kinda autodetected now.


Re: ImportC "no include path set"

2023-02-09 Thread bachmeier via Digitalmars-d-learn

On Thursday, 9 February 2023 at 06:07:35 UTC, Elfstone wrote:

Maybe Walter doesn't care about Windows enough, but I thought 
it'd be a must to add basic tests (say, "dmd hello.c") to run 
on all the platforms before release.


Unlikely, since his text editor [doesn't even compile on 
Linux](https://github.com/DigitalMars/med/issues/8). I filed that 
two years ago. I assume that means Windows is his main 
development OS. The problems you're describing might be more of a 
reflection of shortage of Windows users that contribute.


Re: ImportC "no include path set"

2023-02-08 Thread Elfstone via Digitalmars-d-learn

On Wednesday, 8 February 2023 at 14:08:47 UTC, bachmeier wrote:

On Wednesday, 8 February 2023 at 06:49:06 UTC, Elfstone wrote:

I believe all three versions (2017,2019,2022) of my VS are up 
to date, and I have working C/C++ projects on them.
But you encouraged me to give a few more tries, and I found 
out I had been using ..bin64/dmd.exe. Running ..bin/dmd.exe in 
VS Command Prompt turned out successful. Thx!


Is this documented? I don't use Windows, so I may be missing 
something, but this looks like one of those "death by paper 
cut" things. It has the smell of a rough edge that needs fixing.


I found nothing in the Language Reference. I had to figure out 
using VS Command Prompt and 32bit dmd on my own.


The option "-m32omf" did work, after I downloaded sppn.exe and 
added it to PATH. For some reason sppn.exe wasn't included in 
dmc-857.exe that came with DMD installation, but is found in 
dm857c.zip.


Maybe Walter doesn't care about Windows enough, but I thought 
it'd be a must to add basic tests (say, "dmd hello.c") to run on 
all the platforms before release.


Re: ImportC "no include path set"

2023-02-08 Thread bachmeier via Digitalmars-d-learn

On Wednesday, 8 February 2023 at 06:49:06 UTC, Elfstone wrote:

I believe all three versions (2017,2019,2022) of my VS are up 
to date, and I have working C/C++ projects on them.
But you encouraged me to give a few more tries, and I found out 
I had been using ..bin64/dmd.exe. Running ..bin/dmd.exe in VS 
Command Prompt turned out successful. Thx!


Is this documented? I don't use Windows, so I may be missing 
something, but this looks like one of those "death by paper cut" 
things. It has the smell of a rough edge that needs fixing.


Re: ImportC "no include path set"

2023-02-07 Thread Elfstone via Digitalmars-d-learn

On Wednesday, 8 February 2023 at 04:14:21 UTC, ryuukk_ wrote:

On Tuesday, 7 February 2023 at 14:01:00 UTC, Elfstone wrote:

On Tuesday, 7 February 2023 at 13:10:44 UTC, ryuukk_ wrote:

On Tuesday, 7 February 2023 at 06:25:59 UTC, Elfstone wrote:

On Monday, 6 February 2023 at 14:35:53 UTC, bachmeier wrote:

[...]


Thanks, it worked, but I still get the link error.
I wasn't expecting to configure include paths and link the 
right libc myself. The doc says the simple "dmd hello.c" 
should create "hello.exe". It must be a bug.


You need to run dmd from the developer command prompt on 
windows


I always found this requirement weird

From an UX point of view, what would the better experience 
be? Could DMD ship with the required files? I have 0 
knowledge how the whole thing works so..


That I tried, and I got link error(s) - see my first post. :(


Oh my bad, i misread your comment

Make sure your visual studio install is up to date, maybe you 
have one component missing?


https://learn.microsoft.com/en-us/cpp/build/vscpp-step-0-installation

If you installed/updated VS without reboot, maybe a reboot 
could do the trick?


I believe all three versions (2017,2019,2022) of my VS are up to 
date, and I have working C/C++ projects on them.
But you encouraged me to give a few more tries, and I found out I 
had been using ..bin64/dmd.exe. Running ..bin/dmd.exe in VS 
Command Prompt turned out successful. Thx!


Re: ImportC "no include path set"

2023-02-07 Thread ryuukk_ via Digitalmars-d-learn

On Tuesday, 7 February 2023 at 14:01:00 UTC, Elfstone wrote:

On Tuesday, 7 February 2023 at 13:10:44 UTC, ryuukk_ wrote:

On Tuesday, 7 February 2023 at 06:25:59 UTC, Elfstone wrote:

On Monday, 6 February 2023 at 14:35:53 UTC, bachmeier wrote:

[...]


Thanks, it worked, but I still get the link error.
I wasn't expecting to configure include paths and link the 
right libc myself. The doc says the simple "dmd hello.c" 
should create "hello.exe". It must be a bug.


You need to run dmd from the developer command prompt on 
windows


I always found this requirement weird

From an UX point of view, what would the better experience be? 
Could DMD ship with the required files? I have 0 knowledge how 
the whole thing works so..


That I tried, and I got link error(s) - see my first post. :(


Oh my bad, i misread your comment

Make sure your visual studio install is up to date, maybe you 
have one component missing?


https://learn.microsoft.com/en-us/cpp/build/vscpp-step-0-installation

If you installed/updated VS without reboot, maybe a reboot could 
do the trick?


Re: ImportC "no include path set"

2023-02-07 Thread Elfstone via Digitalmars-d-learn

On Tuesday, 7 February 2023 at 13:10:44 UTC, ryuukk_ wrote:

On Tuesday, 7 February 2023 at 06:25:59 UTC, Elfstone wrote:

On Monday, 6 February 2023 at 14:35:53 UTC, bachmeier wrote:

[...]


Thanks, it worked, but I still get the link error.
I wasn't expecting to configure include paths and link the 
right libc myself. The doc says the simple "dmd hello.c" 
should create "hello.exe". It must be a bug.


You need to run dmd from the developer command prompt on windows

I always found this requirement weird

From an UX point of view, what would the better experience be? 
Could DMD ship with the required files? I have 0 knowledge how 
the whole thing works so..


That I tried, and I got link error(s) - see my first post. :(


Re: ImportC "no include path set"

2023-02-07 Thread ryuukk_ via Digitalmars-d-learn

On Tuesday, 7 February 2023 at 06:25:59 UTC, Elfstone wrote:

On Monday, 6 February 2023 at 14:35:53 UTC, bachmeier wrote:

On Monday, 6 February 2023 at 06:55:02 UTC, Elfstone wrote:


So how am I supposed to set the include path?


https://dlang.org/spec/importc.html#preprocessor

The -Ppreprocessorflag switch passes preprocessorflag to the 
preprocessor.


So if you normally use `-I/foo`, you'd add `-P-I/foo`.


Thanks, it worked, but I still get the link error.
I wasn't expecting to configure include paths and link the 
right libc myself. The doc says the simple "dmd hello.c" should 
create "hello.exe". It must be a bug.


You need to run dmd from the developer command prompt on windows

I always found this requirement weird

From an UX point of view, what would the better experience be? 
Could DMD ship with the required files? I have 0 knowledge how 
the whole thing works so..




Re: ImportC "no include path set"

2023-02-06 Thread Elfstone via Digitalmars-d-learn

On Monday, 6 February 2023 at 14:35:53 UTC, bachmeier wrote:

On Monday, 6 February 2023 at 06:55:02 UTC, Elfstone wrote:


So how am I supposed to set the include path?


https://dlang.org/spec/importc.html#preprocessor

The -Ppreprocessorflag switch passes preprocessorflag to the 
preprocessor.


So if you normally use `-I/foo`, you'd add `-P-I/foo`.


Thanks, it worked, but I still get the link error.
I wasn't expecting to configure include paths and link the right 
libc myself. The doc says the simple "dmd hello.c" should create 
"hello.exe". It must be a bug.


Re: ImportC "no include path set"

2023-02-06 Thread bachmeier via Digitalmars-d-learn

On Monday, 6 February 2023 at 06:55:02 UTC, Elfstone wrote:


So how am I supposed to set the include path?


https://dlang.org/spec/importc.html#preprocessor

The -Ppreprocessorflag switch passes preprocessorflag to the 
preprocessor.


So if you normally use `-I/foo`, you'd add `-P-I/foo`.


Re: ImportC "no include path set"

2023-02-06 Thread Ali Çehreli via Digitalmars-d-learn

On 2/5/23 22:55, Elfstone wrote:

> So how am I supposed to set the include path?

I am not familiar with D in Windows but my first guess would be the -I 
compiler switch:


  dmd -I=/my/c/headers ...

Ali