我有一个应用程序,它使用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
。
我认为我的C库正在使用调试版本并在Release
模式下编译解决了这个问题。但它仍然要求MSVCR100.dll
。我认为解决方法的方法是安装VC ++可再发行组件包。但不确定这是最好的方法。
以下是我的问题。
以下是我可能相关的一些设置。
General :
Use of MFC : Use standard windows libraries
Use of ATL : Not using
C/C++ :
Runtime library : Multi-threaded(/MT)
任何帮助都将不胜感激。
答案 0 :(得分:2)
它试图在没有它的机器上使用仅调试DLL。
你的问题是因为msvcr100d.dll是一个只有调试的dll,由尾随d表示。
因此你没有使用/ MT你实际上正在使用/ MDd。如果您使用/ MT那么它将尝试加载该DLL ...
所以回答你的问题:
答案 1 :(得分:0)
当我用Google搜索“将x86 exe工作在x64上”时,这似乎与第二次点击的问题相同;它没有回答所有问题,但它有一些答案。
http://social.msdn.microsoft.com/Forums/en/netfx64bit/thread/5ad0ff2c-558c-43ba-a59d-9cd0a0785103
如果你超越第二个,你可以找到更多类似的信息,如果你查询其他一些东西。
至于VC ++运行时的东西,我自己就像瘟疫一样避免使用MS的C ++版本,因此没有经验,但我认为所有现代Windows计算机都应该拥有所有东西的必要运行时组件(VC ++) ,.NET等已经包含在内。
答案 2 :(得分:-1)
是的,有必要提供VC ++可再发行组件包。最好的方法是使用Visual Studio Setaul和Deployment项目创建安装程序包。
如果编译32位可执行文件就可以了。
我不推荐这样,这样庞大的可执行文件看起来不专业。