我有一个应用程序使用wxWidgets
作为UI框架,并在Windows 7机器上使用Visual Studio 2010进行编译。 我正在静态链接wxWidgets
。 我的应用程序也使用C DLL进行处理。
现在我试图在另一台新安装的机器(Win7)上运行这个应用程序。 这没有开发者环境设置。 我已经复制应用程序的可执行文件,支持DLL和其他支持文本文件到本机。
当应用程序启动时,它发出以下消息。
The program failed to start because MSVCR100d.DLL is missing from your computer. Try reinstalling the program to fix this problem
The program failed to start because MSVCR100d.DLL is missing from your computer. Try reinstalling the program to fix this problem
。
我想我的C库是使用debugging版本,并在Release
模式编译解决了这个问题。 但它仍然要求MSVCR100.dll
。 我认为解决方法是安装VC ++可再发行组件包。 但不知道这是最好的办法。
这是我的问题。
以下是我可能相关的一些设置。
General : Use of MFC : Use standard windows libraries Use of ATL : Not using C/C++ : Runtime library : Multi-threaded(/MT)
任何帮助,将不胜感激。
它试图在没有它的机器上使用只调试DLL。
你的问题来自于msvcr100d.dll是一个只有dll的调试dll。
因此,你不使用/ MT你实际上使用/ MDd。 如果你使用/ MT,那么它将尝试并加载该DLL …
所以回答你的问题:
这似乎是同样的问题,当我搜索“将x86的x64工作在x64”第二次打击; 它不会回答所有的问题,但它有一些答案。
http://social.msdn.microsoft.com/Forums/en/netfx64bit/thread/5ad0ff2c-558c-43ba-a59d-9cd0a0785103
你可能会发现更多的相似的信息,如果你超越第二个,并且如果你查询其他一些事情。
至于VC ++运行时的东西,我自己避免了MS的C ++版本,就像鼠疫一样,所以没有经验,但我仍然认为所有现代Windows计算机都应该有所有必要的运行时组件(VC ++,.NET等)已经包括在内。
是的,有必要提供VC ++可再发行组件包。 最好的方法是使用Visual Studio Setaul和Deployment项目来创建安装程序包。
如果你编译32位的可执行文件,这是可以的。
我不建议这样做,这样巨大的可执行文件看起来不专业。