09-24-2010 05:37 AM
Hello,
I want to create that kind of packages organisation :
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
09-24-2010 05:52 AM
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
09-24-2010 08:14 AM
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?...
11-04-2018 11:43 PM
修改时间 11-04-2018 11:28 PM
如果调用库函数节点通过路径引用DLL,那么所有构建规范(不仅仅是打包的项目库)都会将DLL复制到构建位置。如果CLF节点仅以名称引用DLL,它将不会复制DLL,但应该在系统搜索路径中索引DLL,但这种方法可能会导致错误。
除上述方法外,您还可以:
1。将VIs保存在一个普通的库中,但是将其设置为private和设置密码来保护库。这将阻止开发人员查看源代码。
2。将DLL添加到项目中。在构建规范中,选中Source File Settings下设置重命名文件”选项。这将防止任何链接问题(应该可以解决您提到的Linking problem)。