没有安装VS2012, c / c++ dll缺少依赖项.有了它,它工作得很好

c / c++ dll missing dependencies without VS2012 installed ... with it its working fine

本文关键字:依赖 工作 很好 dll VS2012 安装 c++      更新时间:2023-10-16

我制作了一个在/MT选项下编译的c/c++ DLL。它将被另一个程序加载。现在,只要我安装了Visual Studio 2012 (Express或Professional,两者都可以),所有这些都可以正常工作(安装了,不需要运行):外部程序将毫无问题地加载DLL。到目前为止,如果我转到另一台没有安装Visual Studio 2012的机器上,它将无法加载。我得到错误"Missing dependencies…"。

我想知道:哪个环境是VS2012安装,没有它是不可用的?我怎么能使这个工作没有VS2012?为什么VCRedist*不安装必要的环境?

指出:-运行dumpbin/DEPENDENTS mydll.dll没有显示任何我没有安装和可用的依赖…此外,它在没有任何修改的情况下运行,只要我安装VS2012进行测试-我在几个系统上测试了这个,也安装了各种vcredist…版本以确保一切正常。只要没有安装VS2012,它就不会启动(我没有尝试VS2010等,很可能也会很好)

我真的以为我检查了很多次,我不会使用任何调试DLL。到目前为止,我错过了一个!事实证明,zeromq libzmq-..-gd.. dll是不返回的点-gd表示调试版本,我的dll使用的是那里的函数。将include和.lib更改为libzmq. dll,而不使用"gd",现在可以正确加载了。当然,所有关于安装vcredist包等的评论都是正确的,但对我来说,在这种情况下不是问题(因为我安装了它们)。非常感谢你的指出,一定有一些调试编译的dll!