首頁
支援
LabWindows™/CVI 錯誤:使用 DLL 時出現“Undefined symbol...”
LabWindows™/CVI 錯誤:使用 DLL 時出現“Undefined symbol...”
更新 Nov 8, 2023
產品資訊
產品資訊中描述經過驗證可以使用本文所述解決方案之產品。此解決方案可能也適用於其他類似產品或應用。
軟體
LabWindows/CVI
問題敘述
我在 LabWindows/CVI 中使用 DLL,當我構建項目時出現以下錯誤:
Undefined symbol '___ImageBase' referenced in "c:\program files (x86)\national instruments\cvi2015\bin\msvc\cvistart.lib"
.
解決方案
上面的錯誤是一個連結器錯誤,表明編譯器找不到 ImageBase 的定義。由於這僅在呼叫程式中的 DLL 時發生,這表明問題出在所使用的 DLL 的連結器檔案(.lib 檔案)上
。
連結器檔案很可能是專門為不同的編譯器產生的,它的 ImageBase 定義(由連結器建立的特殊符號)與 LabWindows/CVI 在
cvistart.lib
中的定義衝突。
嘗試修復連結器問題的最佳方法是重新產生導入library。如果您在中打開 DLL 的標頭
LabWindows/CVI,您會發現
Options >> Generate DLL Import Library...
這將允許您定位 DLL 並產生一個新的 .lib 檔案。完成後,刪除舊的連結器檔案,並將其替換為新產生的檔案。
一種解決方法是將debug級別降低到最低階別,這將減少一些選項但仍然具有debug功能。這可以透過點擊
Options >> Build Options >> Debugging Level
來完成。將debug級別更改為無執行時檢查。
其他支持選項
詢問NI社區
在我們的論壇中與其他用戶協作
搜索NI社區以尋求解決方案
請求工程師的支持
需要具備有效的服務合約或有效的租用版軟體,且支援選項因國家/地區而異。
打開服務請求
了解租用版軟體與服務
了解硬體服務計畫
Was this information helpful?
Helpful
Not Helpful