VS里面已知.h和.lib文件如何生成dll

deepmist 2014-02-07 10:48:40
大家好,供应商提供了.h和.lib文件,请问在VS里面如何生成dll文件呢,我添加引用后生成的dll用dllviewer查看不到里面的函数。
大家帮帮忙好吗。
...全文
590 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
movsd 2014-02-13
  • 打赏
  • 举报
回复
引用 8 楼 fwleiming 的回复:
我记得直接把lib和def喂给链接器无法达到想要的目的。
只要自己再写个DllMain就可以
movsd 2014-02-13
  • 打赏
  • 举报
回复
[DllMain.cpp]

#include <windows.h>
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
{
	return TRUE;
}
[XXXX.def] LIBRARY XXXX.dll EXPORTS Fun1 Fun2 ... Fun1, Fun2 ... 为xxxx.lib中的函数 编译: cl /c DllMain.cpp link /subsystem:windows /DLL /def:XXXX.def /out:$(XXXX.dll) DllMain.obj xxxx.lib
fwleiming 2014-02-13
  • 打赏
  • 举报
回复
lib.exe工具可以从lib文件中拆出obj文件 自己编写一个def文件(这是为了确定要导出哪些函数) 然后用link.exe把这些obj文件重新链接成DLL即可,参数里指定定义文件(刚才编写的def) 我记得直接把lib和def喂给链接器无法达到想要的目的。 哦对了如果obj文件比较多的话拆解会略麻烦,一个文件一条命令而且不能通配符。这个时候可以考虑用for命令 for /f "delims=" %a in ('lib /list /nologo xxx.lib') do lib /extract:"%~a" xxx.lib 大概长这样
deepmist 2014-02-10
  • 打赏
  • 举报
回复
引用 5 楼 zhuobattle 的回复:
vs新建一个dll工程,然后链接相关lib,包含.h,导出相关接口即可
我之前是这样弄的,可是一直报错,撸主C#开发的,能加个q协助下吗
deepmist 2014-02-07
  • 打赏
  • 举报
回复
是几个lib文件一起编译成dll
零度的折翅 2014-02-07
  • 打赏
  • 举报
回复
这个貌似只能再封装一次了,重新编译了。
zhuobattle 2014-02-07
  • 打赏
  • 举报
回复
vs新建一个dll工程,然后链接相关lib,包含.h,导出相关接口即可
「已注销」 2014-02-07
  • 打赏
  • 举报
回复
是含有代码的lib吧,那不需要头文件,直接用命令行link.exe就可以生成
例如Test.lib生成Test.dll,入口函数叫DllEntry,命令行直接输入
link Test.lib /MACHINE:IX86 /DLL /OUT:Test.dll /ENTRY:DllEntry@12
Aist-memory 2014-02-07
  • 打赏
  • 举报
回复
再封装........
mujiok2003 2014-02-07
  • 打赏
  • 举报
回复
有了lib, 你还有要dll干嘛? 实在需要dll的话,自己在包装一下就好

#include <third_party.h>

int foo(char* p)
{ 
    //forward it to third party library
    return third_party_foo(p);
} 

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧