为什么应用程序生成器复制了一份我使用的DLL并放到Data文件夹中?



主要软件:
主要软件版本: 2011
主要软件修正版本: N/A
次要软件: N/A

问题: 我用库函数调用节点访问一个定制的DLL。这个DLL需要放在指定的位置,这个会包含在我的应用程序中。但是最后在应用程序中依旧包含一份复制的DLL在设定的支持目录中。我不需要在支持目录中存有DLL。我应该如何避免在使用应用程序生成器时使用这个DLL?

解答:

当你配置一个库函数调用节点和配置语言框中定义库路径,LabVIEW会注释DLL选择为依赖的应用。当生成应用程序时,所有的依赖,除了操作系统(例如系统DLLs)和LabVIEW运行引擎,将放入应用的支持目录。这能确保你的调用库函数节点一直有正确的DLL。

假如你需要访问一个系统DLL,你不需要定义DLL的完整路径。LabVIEW将会自动在系统搜寻路径下找到DLL。参考: LabVIEW 2011 Help: Call Library Function Dialog Box得到更详细的帮助。

为了允许支持目录以外的引用DLL,你必须在调用库函数节点的输入端写入路径。通过右击调用库函数节点使路径端口可用,接着选择Configure然后检查Specify path on diagram.

如果你在路径接线端连了常量,LabVIEW将会定义静态引用的DLL路径,不论应用程序位于什么位置。DLL将不会被依赖关系包含,最后生成的应用将不会在支持目录中包含DLL。



相关链接: KnowlegeBase 17BBT4U9: My Stand-Alone Executable Cannot Find My DLL, Even Though I Have Specified the Path for the DLL
LabVIEW 2011 Help: Call Library Function Dialog Box
LabVIEW 2011 Help: Call Libarary Function Node

附件:





报告日期: 05/05/2009
最近更新: 03/24/2013
文档编号: 4X4JQ5MO