LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Swap shared library

I want to debug the CCC library.  To do this, I have to also simultaneously debug the CVT library and STM library.  All need to have changes applied in order to debug (Disabling re-entrancy and enabling debugging mostly, but also adding debugging controls and indicators).  Altering the installed vi.lib libraries is absolutely not something I want to do for obvious reasons.

 

So, I use the library manager to create copies of all three (STM, CVT, CCC).  When I add them to a new project, CVT adds withough trouble (Since it doesn't depend on CCC or STM).  With CCC though, everything conflicts with the original libraries that come in via vi.lib.  The copied CCC attempts to load the original CVT and STM even though those are manually added to the project at their new locations.

 

What is the proper procedure to disable the loading of vi.lib libraries so that dependent libraries all load vi's from copies of their dependencies?  The conflict resolution process doesn't allow this.

 

Thanks,

 

XL600

0 Kudos
Message 1 of 3
(2,762 Views)

Hi xl600,

Modifying the VIs provided in our reference libraries is not exactly something we recommend.

That being said, here are 2 suggestions:
1. In your LabVIEW project, expand "Dependencies"  and the the vi.lib folder. If you right click on the offending VIs or libraries in that project, it should give you an option to "Replace with..." You should be able to select the correct (that is, modified) VI for each dependency that is being pulled from the wrong location this way. In your case, you might need to recompile the libraries with the modified VIs, then replace the specific library in this way under dependencies. 

2. You could also modify the Search Path, though I am not 100% sure this would work for your case. Specifcally, you could add the location of your modified VIs to your search path and possibly just remove vi.lib for the duration of your testing (though this would almost certainly cause other issues). I think in this case you might also need to recompile the modified VIs into a library as well. The instructions for modifying the LabVIEW search path can be found in the below link.

http://digital.ni.com/public.nsf/allkb/3E58FDCF8744F86D86256AAF0078274C

Hope this helps!

Charlie J.
National Instruments
0 Kudos
Message 2 of 3
(2,716 Views)

Using the replace with function isn't really useful.  I want to substitute a copy of a n entire library.  I also tried the search path approach, with no luck (Even with vi.lib placed after the location of the library copy).

 

What I wound up doing is just editing the vi.lib libraries directly and reverting them using VIPM.  That seemed to work pretty well during the debug process (I found the root issue in CCC and CVT and posted a possible solution here).  I did need to mass recompile.  I also had to reboot my RT controll many times whenever changing the re-entrancy settings of library VIs since it appears that reentrancy settings aren't picked up by LabView RT like most other VI changes are).

 

Thanks,

 

Robert

0 Kudos
Message 3 of 3
(2,708 Views)