Problem
VIPM builds packages, cross-platform wildcards ("*") get removed from the path and the path gets converted to the specific path for that platform.
For example:
c:/example/myshared*.*
turns into:
c:/example/myshared32.dll
This means that the built package will try to load the DLL for whatever platform the package was built upon, rather than load the platform specific DLL on the target installation system.
Background
When building a package that calls shared libraries (Windows *.dll, Linux *.so, and MacOS *.framework files), it is a common practice to include dlls for multiple platforms and bit-ness.
LabVIEW supports this with wildcards in the Call-Library Function nodes, as described in the documentation here.
Unfortunately, when VIPM builds packages, the wildcards get removed from the path and the path gets converted to the specific path for that platform.
c:/example/myshared*.*
turns into
c:/example/myshared32.dll
Work-around
Use a Post-Install Custom Action (script) in your package to change the DLL paths back to cross-platform wildcards. You can download this file in the discussion forums here.
Comments
0 comments
Article is closed for comments.