C++怎么调用lib库啊?

我现在有一个lib库,想把它变成dll文件。我没有头文件,但是知道里面的所有函数名、参数和返回值,这样可以吗?怎么把它编译为dll文件啊?该怎么做呢?怎样引用这个lib,... 我现在有一个lib库,想把它变成dll文件。
我没有头文件,但是知道里面的所有函数名、参数和返回值,这样可以吗?怎么把它编译为dll文件啊?
该怎么做呢?怎样引用这个lib,怎样声明里面的函数呢?(比如里面有一个函数为:double getver(int ang, int evg);要怎么声明啊?)
展开
 我来答
du瓶邪
推荐于2016-01-13 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2927万
展开全部
  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中定义的函数原型,然后声明
Lyinsc
推荐于2016-02-04 · 超过16用户采纳过TA的回答
知道答主
回答量:32
采纳率:100%
帮助的人:35.8万
展开全部
#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库
追问
可是我没有这个的dll啊,就只有一个lib,所以就想把它编译成dll。
追答
下个dll吧,你那个lib也是下的吧
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吉祥二进制
高粉答主

2014-04-26 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84579

向TA提问 私信TA
展开全部
#pragma comment(lib, "xxxx.lib")
追问
里面的函数怎么声明啊?
追答
直接写你lib中的函数声明 
比如你在lib 或者dll文件 的源码中写了一个导出函数 叫 void show();
在调用库的源文件中就直接 void show();写函数声明即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式