我在另一台计算机上构建和运行项目时遇到了一些奇怪的问题。这是一个并排的错误。通常原因是机器上未安装 c++ 可再发行组件等。但是在这种情况下,项目是在该机器上编译的。安装了 MSVC++ 2005,运行时应该在那里(无论如何,我再次安装了运行时)。为什么链接器引用机器上不可用的运行时库?
我正在动态链接到运行时库。
关于如何调试此问题的任何想法?
谢谢。
编辑
我不想开始另一个帖子,因为它是相关的。由于这个 DLL 版本混乱,这是静态链接到运行时的好理由吗?我会避免所有这些问题吗?我看不到动态链接到运行时的任何优势。我的印象是,使用 DLL 运行时,您可以获得使用新 DLL 进行更新/错误修复的好处。但是,由于 SxS 和清单,它确保它无论如何都会加载 DLL 的特定版本(旧版本)?那么动态运行时到底有什么意义呢?可能节省了几 kb 的空间,因为您没有在所有依赖库中嵌入重用函数。但这与您的应用程序无法运行的成本相比,因为某些古老的运行时版本已从机器中删除,这不值得吗?
再次感谢。仍在追踪原始问题,并且可能必须重新编译我正在使用的每个库。