使用由".h"、".lib"和".dll"文件组成的第三方库

Using a Third Party Library Consisting of ".h", ".lib" and ".dll" Files

本文关键字:文件 第三方 dll lib      更新时间:2023-10-16

所以目前我正在尝试使用国家仪器和IVI基金会的VISA库来读取/写入各种外部设备的命令。

我对我的IDE相对新手:Microsoft Visual c++ Express 2010,这是我第一次尝试使用第三方库,需要更多的。h导入。

基本上我有一个目录与3头文件,一个目录与3 .lib库和一个目录与7 dll。他们没有关于任何单个文件做什么的文档,只有作为一个整体的库。因此,我需要能够获得与我的项目相关的所有这些文件。

目前,我在我的头文件中导入了所有的头文件,并将头目录添加到项目属性中的包含目录中。我还将包含.lib文件的目录添加到项目属性中的库目录中。我假设.lib文件将链接到dll,但显然情况并非如此,因为我得到错误:

VISA控制台obj:错误LNK2019:未解析的外部符号_viOpenDefaultRM@4在函数_wmain

在使用库中的任何函数时会发生此错误。下面是我当前的代码:

#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
    ViStatus status;
    ViSession defaultRM, instr;
    status = viOpenDefaultRM(&defaultRM);
    return 0;
}

当我注释掉viopendefaulm命令时,项目将构建,所以我假设这意味着我可以使用库中的对象而不是命令。因为我有3个对象声明,构建得很好。

好了,这是我所有的信息,希望有人能帮助,希望这有助于别人!

除了将.lib文件的目录添加到库目录属性之外,还需要添加链接器应该搜索的实际库。

将库添加到项目的

 Configuration Properties | Linker | Input | Additional Dependencies

字段。

dll不是构建过程所必需的,但要运行程序,它们应该位于PATH的目录中或与程序文件相同的目录中。

您是否向项目属性添加了额外的依赖项?

在"链接器->输入"下找到"附加依赖项",并将你从

获得的库放在那里