gpt4 book ai didi

c++ - c/c++ dll 在未安装 VS2012 的情况下缺少依赖项...使用它工作正常

转载 作者:行者123 更新时间:2023-11-30 17:53:31 26 4
gpt4 key购买 nike

我在/MT 选项下编译了一个 c/c++ DLL。它将被另一个程序加载。现在,只要我安装了 Visual Studio 2012(Express 或 Professional,两者都可以)(已安装,无需运行它),所有这一切都可以正常工作:外部程序将毫无问题地加载 DLL。到目前为止,如果我转到另一台未安装 Visual Studio 2012 的计算机,它将无法加载。我收到错误“缺少依赖项...”。

我想知道:VS2012安装在哪个环境下,没有它就无法使用?如果没有 VS2012 我怎样才能做到这一点?为什么VCRedist*没有安装必要的环境?

注释:- 运行 dumpbin/DEPENDENTS mydll.dll 不会显示任何我不会安装且可用的依赖项...而且,一旦我安装 VS2012 进行测试,它就无需任何修改即可运行- 我在多个系统上对此进行了测试,还安装了各种 vcredist... 版本以确保一切正常。只要未安装 VS2012,它就不会启动(我没有尝试使用 VS2010 之类的,很可能也可以)

最佳答案

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

关于c++ - c/c++ dll 在未安装 VS2012 的情况下缺少依赖项...使用它工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15533800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com