因此,目前我正嘗試使用National Intruments和IVI Foundation的VISA庫來讀取/寫入各種命令外部設備。使用包含「.h」,「.lib」和「.dll」文件的第三方庫
我相對新手,我的IDE:Microsoft Visual C++ Express 2010,這是我第一次嘗試使用第三方庫,需要超過.h導入。
基本上我有一個目錄有3個頭文件,一個目錄有3個.lib庫和一個有7個DLL的目錄。他們沒有關於任何單個文件做什麼的文檔,只有整個圖書館。所以,我需要能夠獲得與我的項目相關的所有這些文件。
目前我已將所有標題導入到我的標題文件中,並將標題目錄添加到項目屬性中的包含目錄中。我也有包含添加到項目屬性中庫目錄的.lib文件的目錄。我認爲.lib文件將鏈接到的DLL,但顯然這並不是因爲我得到了錯誤的情況下:
VISA Console 2.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _wmain
使用從庫中的任何功能時,會出現此錯誤。這是目前我的代碼:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
ViStatus status;
ViSession defaultRM, instr;
status = viOpenDefaultRM(&defaultRM);
return 0;
}
項目時我註釋掉viOpenDefaultRM命令,所以我想這意味着我可以使用從庫中的對象,而不是命令將建立。因爲我有3個對象聲明可以很好地構建。
好吧,這是我所有的信息,希望有人可以幫助,並希望這可以幫助別人!
得到了林達也一定要使用正確的路徑:簽證提供了庫的32個和64位版本;由於Visa安裝程序創建VXIPNPPATH和VXIPNPPATH64環境變量,因此最好使用它們而不是硬編碼路徑。 – stijn
@stijin對不起,是的,我已經將文件添加到其他依賴項。我添加了3個.lib文件的完整路徑,但它看起來不像對話框中的其他.lib文件。所有其他人刪除了完整的文件路徑,而我的仍然有他們的,我的沒有出現在外部依賴文件夾。 – Chrono
@stijn好了,所以我將其他依賴項更改爲$(VXIPNPPATH64),並將錯誤消息更改爲:LINK:致命錯誤LNK1104:無法打開文件'C:\ Program Files \ IVI Foundation \ VISA \\。obj'可以這意味着環境變量有什麼問題? – Chrono