我对C ++和MS Visual Studio不太熟悉。我目前在发布.exe并试图在不同的PC上运行该程序时遇到问题。在程序中我正在使用额外的库(magick ++)。我已将Visual Studio 2015中的运行时库配置为多线程(/ MT)。我想,使用这种配置,.exe文件应该在不同的PC上运行,但是当我尝试运行它时,会出现“ CORE_RL_Magick ++。dll在这台计算机上缺失的消息。任何想法,什么可能是错的?
我的第二个问题是,如果我想使用动态库 / MD 进行发布,我如何让它在不同的PC上运行它?或者我是否必须首先安装库(我的意思是如果我必须将Imagemagick安装到计算机上,或者是否有某些方法可以从Visual Studio中的构建中获取必需的库)。
感谢所有信息。
答案 0 :(得分:1)
你有CORE_RL_Magick ++吗?在失败的计算机上的某个路径中的dll(包括运行exe程序的目录)。
/ MD和/ MT命令影响使用的运行时,而不是程序依赖的其他库。
因此使用/ MT,它会将visual c libs的静态版本编译到exe中,但如果链接到magic dll,它仍然需要CORE_RL_Magick ++。 dll才能运行。
答案 1 :(得分:1)
对于较小的尺寸,我认为 / MD 是更好的选择。
如果您想在其他PC上运行程序,您可能需要首先在PC上安装Visual Studio Redistributable
(可以在Microsoft网站上下载)。
答案 2 :(得分:1)
同意Martin Zhai的观点。尝试在升级到2015之后在另一台机器上运行我的程序时出现此问题。尽管是本地的,但我想要使用的DLL也不会被找到。安装Visual C++ Redistributable for Visual Studio 2015修复此问题。