如何在DLL中绕过VC ++运行时需求?

时间:2009-04-24 16:15:14

标签: c# c++ dll runtime

我在VS2008中编写了一个我在C#应用程序中使用的dll,但我的用户并不喜欢他们需要.NET框架和VC ++ Runtime的事实。

有没有办法可以避免在我的C ++ dll中使用'必须'的VC ++ Runtime?

3 个答案:

答案 0 :(得分:10)

您可以使用静态链接的运行时构建您的dll(/ MT代替/ MD - 在属性 - >配置属性 - > C / C ++ - >代码生成 - >运行时库)。

答案 1 :(得分:3)

您可以将静态运行时库链接到您的dll。这样它就会一直存在,并且不需要.dll和C ++运行时。

答案 2 :(得分:1)

就像其他人所说的那样,你可以静态链接,但如果你把第三方C ++ dll没有静态链接(这几乎是一切),那将会成为一场噩梦。那种情况会导致随机崩溃,让你永远调试。最简单的方法是使用一个隐藏用户的安装程序。如果使用vs安装程序,则可以使用合并模块,或者作为nsis安装的一部分安装。这将使每个人的生活更轻松。特别是你的。没有理由反对安装这些,而不是安装.NET框架。除非你需要它们并且没有它们,否则它在稳定性方面没有区别。