编译解决方案没有DLL的Visual Studio托管C++

Jam*_*s V 2 dll managed-c++ visual-studio-2013

我是C++ Managed和Visual Studio的新手,牢记这一点.我编写了一个应用程序,使用户可以轻松地在反击中绑定密钥,可在此处找到:https: //sites.google.com/site/intrepidprojects/

我与测试程序的朋友遇到的第一个错误是"msvcr120D.dll缺失".这让我发现我必须将运行时库设置为多线程(/ MTd),如果我不希望用户下载Visual Studio c ++ dll的话.当我选择这个选项时,我得到了/ MTd和/ clr不兼容的错误.所以我将常见的运行时支持转为不支持.现在所有名称空间都是无效的,例如"系统","收藏"等.

我的问题是如何在不需要dll的情况下生成独立应用程序?我遇到的每个解决方案都会让我遇到更多我不理解的错误.同样,我使用的语言是c ++/cli.对不起如果我没有使用正确的术语来表达我的错误,我自己就是在教这个.我知道这个问题之前已被多次提出过,但答案并没有引导我找到解决方案.

sti*_*ijn 5

我的问题是如何在不需要dll的情况下生成独立应用程序?基本上:你没有.只是让他们安装CRT运行时 - 无论如何迟早都需要它,因为你不是唯一一个编写针对该工具集的程序(顺便说一句,你标记了VS2012的问题,但这些dll通常用于VS2013?).作为替代方案,您可以在文件系统上查找所有需要的dll(msvcr120.dll,msvcp120.dll等,使用Dependency Walker)并将它们放在与可执行文件相同的目录中,因为搜索路径的方式也是如此对于dlls.但它有点乱.

Furtermore缺少msvcr120D意味着您正在使用Debug配置构建项目(这就是D代表的内容),但是在运送给用户时应该使用Release配置构建,因为运行时安装程序仅安装发行版本.