LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DLLs copied into build dirs

This is a curious problem (feature?) that I can't quite figure out.

I'm using 6.0.2 and building an app that has a lot of DLL calls.
When I build, LV will take one of these DLLs and copy it into a "data"
sub dir of the target build directory. I can't figure out why! There's
nothing special about this particular DLL (at least that's apparent to
me): the original sits in a dir pointed to by the PATH env var, just
like every other DLL I'm using. If I create a BLD file from scratch,
same diff.

Why, why, why????
0 Kudos
Message 1 of 5
(3,049 Views)
Erase it from this sub if you don't want it there.
Executable must work without it.

I think that LabVIEW copy it to "data" sub, because if you want to copy it to another machine you have all files that executable need in this sub.
0 Kudos
Message 2 of 5
(3,049 Views)
Nope, that ain't it.
If it were, then I'd expect every one of the dozen or so DLLs that I'm
using
would be copied into the 'data' sub dir.

Still can't find anything in the docs or online to describe why LV is
doing this. A minor annoyance to be sure, but I won't be able to sleep
peacefully
until I know!

nchernin wrote in message

> I think that LabVIEW copy it to "data" sub, because if you want to
> copy it to another machine you have all files that executable need in
> this sub.
0 Kudos
Message 3 of 5
(3,049 Views)
Note how the libraries are linked inside the library nodes of your VI. When
I've linked in Win32 system DLL's (kernel32.dll, user32.dll, etc), I've
simply typed the name directly - no path to the DLL is added, and since
they're in the environment path they'll be found at load time. However,
link libraries giving the full path to the .dll and when the VI is built
into an app, the library is also copied to the destination. This behavior
can also be a cause of the LV "loading vi dialog" popping up unexpectedly
with built applications.

HTH


"Scott Miller" wrote in message
news:da8c9793.0205150425.39f2cad9@posting.google.com...
> Nope, that ain't it.
> If it were, then I'd expect every one of the dozen or so DLLs that I
'm
> using
> would be copied into the 'data' sub dir.
>
> Still can't find anything in the docs or online to describe why LV is
> doing this. A minor annoyance to be sure, but I won't be able to sleep
> peacefully
> until I know!
>
> nchernin wrote in message
>
> > I think that LabVIEW copy it to "data" sub, because if you want to
> > copy it to another machine you have all files that executable need in
> > this sub.
0 Kudos
Message 5 of 5
(3,049 Views)
Scott,

Usually, the "data" sub dir of the target directory is folder where the support files are added with the"Add Support Files" button to specify any external code (e.g., DLLs or help files) that your application uses.
The path to this directory is given in the Target Tab, support file directory.
You probably added that dll as a support file(actually you must add all of them if you want to export your app to another machine)and a way to check this is to go to the Source file tab and see if that dll is listed.

Regards,

Cyril Bouton
Applications Engineer
National Instruments
Cyril Bouton
Active LabVIEW Developper
0 Kudos
Message 4 of 5
(3,049 Views)