我已經指定了DLL的路徑,為什麼我的獨立執行檔還是找不到DLL呢?
主要軟體: LabVIEW Development Systems>>Full Development System
主要軟體版本: 5.0
主要軟體修正版本:
次要軟體: N/A
問題: 我在VI中使用了Call Library Function node,在LabVIEW中VI可以正常執行。但是當我將其發布成可執行檔時,會跳出對話窗要我去找出Call Library Function要呼叫的DLL檔所在位置。我在執行可執行檔前已將DLL複製到指定的目錄下了?到底是哪裡出了問題呢?
解答: 建立的執行檔只會在特定的目錄下找尋需要的函式庫,對於任何的可執行檔您必須確認您的DLL檔被安裝在下列目錄之一:
:
- 與可執行檔同一個目錄下,
- \windows\system (NT下則為 \winnt\system32 )
- 任何在autoexec.bat中透過"set path"或在NI中透過環境變數所設定的路徑
所以,您是可以將DLL檔安裝在任何您所需要的路徑下,不過您必須確認該特定路徑如上述有被加入到autoexec.bat中。
Note: 如果您呼叫位在系統目錄下的WinAPI DLL,您有兩個選擇:
- 在Call Library Function node中僅輸入檔名而沒有路徑。這可避免建立執行檔時DLL檔被複製一份到data目錄中
- 如果您不想或不能重新建立執行檔,請刪除data目錄中的WinAPI DLL。您的可執行檔會在每次您啟動執行檔時花些時間尋找DLL。您可透過增加"C:\WINDOWS\SYSTEM32\" 目錄到 "Tools >> Options... >> Paths >> VI Search Path" of the executable來解決這個問題。此動作會自行增加一行到*.ini 的檔案中
相關連結:
附加檔案:
報告日期: 03/12/1998
最後更新: 02/20/2006
文件偏號: 17BBT4U9
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.