C++怎么调用lib库啊?

2024-11-29 10:20:24
推荐回答(3个)
回答1:

  1 LIB文件直接加入到工程文件列表中
  在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中"Add Files to Project"菜单,在弹出的文件对话框中选中要加入DLL的LIB文件。然后在首先要使用该函数的地方加上该LIB的头文件,如#include "..\lib.h"即可(没有头文件当然就不用了)。
  2 设置工程的 Project Settings来加载DLL的LIB文件
  打开工程的 Project Settings菜单,选中Link,然后在Object/library modules下的文本框中输入DLL的LIB文件,如you.lib(或者lib文件的路径,包括文件名)。然后在首先要使用该函数的地方加上该LIB的头文件,如#include "..\lib.h"即可(没有头文件当然就不用了)。
  3 通过程序代码的方式
  加入预编译指令#pragma comment (lib,"*.lib"),这种方法优点是可以利用条件预编译指令链接不同版本的LIB文件。因为,在Debug方式下,产生的LIB文件是Debug版本,如Regd.lib;在Release方式下,产生的LIB文件是Release版本,如Regr.lib。然后在首先要使用该函数的地方加上该LIB的头文件,如#include "..\lib.h"即可(没有头文件当然就不用了)。
  当应用程序对DLL的LIB文件加载后,还需要把DLL对应的头文件(*.h)包含到其中,在这个头文件中给出了DLL中定义的函数原型,然后声明

回答2:

#include "xxx.h"
#pragma comment(lib, "xxxx.lib")

用lib是需要有库的头文件的,用dll动态加载不需要头文件。

比如这个文章中的动态调用dll中函数的例子
http://www.cnblogs.com/lhbssc/archive/2012/02/08/2342853.html
首先,调用LoadLibrary(),加载库

然后,调用GetProcAddress(),获取要调用的函数的首地址

第三,使用获取到的函数首地址,即函数
最后,调用FreeLibrary()释放dll库

回答3:

#pragma comment(lib, "xxxx.lib")