pragma(linkerDirective,_) removes double quotes, dmd ignores LIB

NonNull non-null at use.startmail.com
Sun Nov 27 19:37:41 UTC 2022


On Sunday, 27 November 2022 at 17:37:50 UTC, kinke wrote:
> For LDC, you shouldn't need any double quotes, the compiler 
> quotes the linker flag if it contains spaces.

Didn't work for me with LDC:

This, which works at the command line with ```-L=```:

```enum LIBPATH = `/LIBPATH:"C:\Program Files (x86)\Windows 
Kits\NETFXSDK\4.7.2\Lib\um\x64"`;
pragma(linkerDirective, LIBPATH);```

gave this:

```warning LNK4229: invalid directive '/LIBPATH:C:\Program Files 
(x86)\Windows Kits\NETFXSDK\4.7.2\Lib\um\x64' encountered; 
ignored```

and without the double quotes gave this:

```fatal error LNK1276: invalid directive 'Files' found; does not 
start with '/'```

This, which also works at the command line with ```-L=```:

```enum LIBPATH = `"/LIBPATH:C:\Program Files (x86)\Windows 
Kits\NETFXSDK\4.7.2\Lib\um\x64"`;
pragma(linkerDirective, LIBPATH);```

gave this:

```warning LNK4229: invalid directive '/LIBPATH:C:\Program Files 
(x86)\Windows Kits\NETFXSDK\4.7.2\Lib\um\x64' encountered; 
ignored```

So double quotes are not arriving at the destination.



More information about the Digitalmars-d-learn mailing list