Col*_*nee 3 c dependencies boost msvcrt visual-studio
我知道有一些类似的问题,但我不认为他们真的有与我相同的要求.
我们的DLL是使用Visual Studio 2005编译的,由于安装限制,必须与特定版本的CRT链接.这是绝对的,用最新版本重新编译它不是一个解决方案.
我们最近更新了Boost库.但是,当我构建Boost时,它会自动使用最新的CRT.现在,当我将Boost与我们的程序联系起来时,它会对CRT的最新(错误)版本和CRT的旧(正确)版本产生依赖关系.需要依赖最新版本.
这个问题的最佳解决方案是什么?目前,我能想到的最好的是使用旧版本重建Boost,但我不知道如何在不修改源代码的情况下轻松完成.
如果有办法强制Visual Studio全局使用特定版本的CRT(而不是基于每个项目),那将是很好的.或者只是简单地删除最新版本的CRT,但我很确定这是不可能的,因为我认为它被认为是操作系统的一部分.
AFAIK,不建议使用不同版本的CRT.与.NET不同,您可以从.NET 2.0 dll引用.NET 1.1 dll,Unmanaged不提供这种灵活性.
由于你无法升级你的dll以使用更新的CRT,你唯一能做的就是在VS2005中重建Boost.
此外,不建议连接两个不同CRT的dll.它可能导致内存损坏等问题.
注意:每个Visual Studio都有其所有dll引用的默认CRT版本.
另外我不明白"删除新的CRT".您需要为您使用的每个Visual Studio版本安装Visual Studio Redist.(该redist包含CRT dll) http://msdn.microsoft.com/en-us/library/abx4dbyh%28VS.80%29.aspx
| 归档时间: |
|
| 查看次数: |
2099 次 |
| 最近记录: |