Is this dub link flag (-L-lcudart_static) a bug?
Matheus Catarino
matheus-catarino at hotmail.com
Fri May 16 17:44:01 UTC 2025
On Monday, 12 May 2025 at 15:03:00 UTC, mw wrote:
>
> I got a link error: `undefined reference to
> 'cudaGetDeviceProperties_v2'`.
>
> by adding `--vverbose` dub option, I found the final expanded
> link cmd is:
>
> ```
> .../ldc2/bin/ldc2 ... -L-L/usr/local/cuda/lib64
> -L-lcudart_static ...
> ```
>
> This "-L-l" format does not look correct?
>
>
> Then I changed the dub.json to :
>
> ```
> "lflags": [
> ...
> /usr/local/cuda/lib64/libcudart_static.a
> ...
> ],
> ```
>
> then it links correctly.
>
> I'm just wondering if the dub expansion "-L-l" format is a
> bug? (but looks like this same expansion works for other
> libraries?)
>
> Thanks.
In the dub `libs:["mylibname_noext"]` +
`lflags:["-L/Path/to/lib"]`
In side: `-L-L/path -L-lmylibname_noext`.
If you need to pass a specific file (.o, .obj, .a, .lib) add in
`sourceFiles:["..."]`
The problem presented shows that this library possibly has other
dependencies.
Have you looked into the cuda community? I did a quick search and
saw a similar problem involving cuda12.
Unfortunately, I've never tried anything involving cuda. Sorry if
this doesn't answer properly.
More information about the Digitalmars-d-learn
mailing list