我在导出dll的时候,在自己的机子调试就不会有问题,但是到一台没有安装过vs的机子,或者重装过系统的电脑,就运行报错,总是提示缺失一些组件,当时安装过,vc组件包,游戏傻瓜组件包,都不可以,但是就是应该是vs2010的默写组件,后来发现原来是vs2010 IDE生成代码的设置问题。
属性-》代码生成》运行库
就是这里的问题,大概意思就是MT是静态连接库方法,是把相关的库文件放入了dll文件内,不在依附与当前系统环境,而Md则相反,属于动态链接。MTD和MDD都是Debug版本,内存较大。
//---------------------------------------2014-9-12----------------------------------------------------------------------------------//
今天在导出dll的时候遇到一个错误“转换到COFF期间失败”,后来查询一番找到解决办法:
(答案转载其他人)
终极解决方案:
VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次。
在建立VS2010 Win32 Project项目时,按照上面解决方案依然发生了“error LNK1123”错误,经过上网查资料,解决方案为:
第一步:与上相同。
第二步:将 项目|项目属性|配置属性|连接器|清单文件|嵌入清单 “是”改为“否”。
第三步:一般计算机经过上两步设置就能解决问题了,但是如果还有问题,那就按一下方法解决:
计算机是否为64bit操作系统,如是,继续2。
查找是否有两个cvtres.exe。一个是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一个是C:\Windows\Microsoft.NET\Framework\v
4.0.30319\cvtres.exe。右键属性|详细信息 查看两者版本号,删除/重命名较旧的版本,或者重新设置Path变量。
意外的是,治本的办法是第三步,删除旧版本的cvtres.exe后,就不需要每次都设置配置了。