目前,我正在尝试使用National Instruments和IVI Foundation的VISA库来读写各种外部设备的命令。
我对我的IDE:Microsoft Visual C++ Express 2010相对陌生,这是我第一次尝试使用需要超过.h导入的第三方库。
基本上,我有一个包含3个头文件的目录,一个包含3个.lib库的目录和一个包含7个DLL的目录。它们没有任何关于单个文件的文档说明,只有整个库的说明。因此,我需要将所有这些文件与我的项目关联起来。
目前,我已经在我的头文件中导入了所有头文件,并将头文件目录添加到项目属性中的包含目录中。我还将包含.lib文件的目录添加到项目属性中的库目录中。我认为.lib文件会链接到DLL,但显然并非如此,因为我收到以下错误:
VISA Console 2.obj : error LNK2019: unresolved external symbol _viOpenDefaultRM@4 referenced in function _wmain
当使用库中的任何函数时,就会发生此错误。以下是我的当前代码:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
ViStatus status;
ViSession defaultRM, instr;
status = viOpenDefaultRM(&defaultRM);
return 0;
}
如果我注释掉viOpenDefaultRM命令,那么该项目将会构建成功,因此我认为这意味着我可以使用库中的对象而不是命令。由于我有三个对象声明,它们可以顺利地构建。
好的,这就是我的所有信息,希望有人能够帮助并希望这对其他人有所帮助!