LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LVLIBP linking troubles

Hello, 

 

I want to create that kind of packages organisation :

Moncontexte.JPG

Arrows shows dependencies

I first create a project with resources code to build Resources.lvlibp.

 

Then I insert resources.lvlibp in the project with interface code and build Interface.lvlibp.

The result of building is :

- interface.lvlibp

- resources.lvlibp (new)

 

Then I create an other project with implement code and insert the 2 lvlibp just created.

When I insert interface.lvlibp, it tries to find resources.lvlibp at the phisical place it used to be in Interface project...

As long as a lvlibp is locked, it cannot save its new linkage and retries on every loadings...

It looks like linkage inside a lvlibp is absolute and it's a real problem because it looses all benefits...

 

Has anyboby met, and maybe solved, this situation?...

 

Thanx for your help

 

Pierre

 

0 Kudos
Message 1 of 4
(2,800 Views)

I have seen strange things as well, however I think the following should work:

 

-Develop Resources

 

Create a distribution that puts Resources in user.lib

 

-Develop Interface, which depends on Resources inside user.lib

 

Create a distribution that puts Interface in user.lib

 

-Develop Implement, which depends on Resources and Interface inside user.lib

 

-Develop Main App depending on resources and Interface inside user.lib.

 

Ton

 

Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
0 Kudos
Message 2 of 4
(2,794 Views)

I just tried...

When building interface.lvlibp, it tries to overwrite resources.lvlibp... So it crashes.

I moved resources directory of interface build in an other directory (build settings), then build works.

user.lib looks the following :

- resources.lvlibp

- mydll.dll (linked with resources.lvlibp)

- interface.lvlibp

- Res (interface.lvlibp resources folder)

    - resources.lvlibp

    - mydll.dll

 

But when I open implement project, there are many linking mistakes with resources.lvlibp, and interface.lvlibp becomes not executable.

 

I tried every combination of moving and deleting resources.lvlib, but unsuccessfully...

 

I must have missed something...

 

Any other idea?...

 

0 Kudos
Message 3 of 4
(2,785 Views)

如果调用库函数节点通过路径引用DLL,那么所有构建规范(不仅仅是打包的项目库)都会将DLL复制到构建位置。如果CLF节点仅以名称引用DLL,它将不会复制DLL,但应该在系统搜索路径中索引DLL,但这种方法可能会导致错误。

除上述方法外,您还可以:

1。将VIs保存在一个普通的库中,但是将其设置为private和设置密码来保护库。这将阻止开发人员查看源代码。

2。将DLL添加到项目中。在构建规范中,选中Source File Settings下设置重命名文件”选项。这将防止任何链接问题(应该可以解决您提到的Linking problem)。

 

0 Kudos
Message 4 of 4
(2,291 Views)