VS2019编译的dll,导出函数被改名

青蛙工作室 2021-01-28 11:57:47
用vs2019,写了一个很简单的dll,目标平台选择x64,得到的dll是正常的,符合要求。如果选择目标平台为x86,则得到的dll不能用。经dumpbin查看,发现导出函数全部被改名了。比如原本是 Initial 就被改成 _Initial00。可是我编译是同一个项目,只是选择目标平台不同而已,而且也有写明导出函数 extern "C" __declspec(dllexport) int __stdcall Initial();
请问是什么原因,如何解决?
...全文
2091 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
青蛙工作室 2021-05-06
  • 打赏
  • 举报
回复
引用 5 楼 anlijitian_dx 的回复:
为啥我用def文件他报错啊..无法解析的外部符号
找找def文件的用法,特别注意有无全角符号,比如全角的空格、全角的豆号等
anlijitian_dx 2021-05-03
  • 打赏
  • 举报
回复
为啥我用def文件他报错啊..无法解析的外部符号
神农氏 2021-03-11
  • 打赏
  • 举报
回复
如果你的应用是64位的,那么你的DLL必须也是64位的。
青蛙工作室 2021-01-29
  • 打赏
  • 举报
回复
用def文件能解决改名的问题。但就是想不明白,编译成x64它不改名,编译成x86就改名,是有什么说法吗
sevancheng 2021-01-29
  • 打赏
  • 举报
回复
写在def文件试试
zgl7903 2021-01-28
  • 打赏
  • 举报
回复
depends 查看下

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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