|
|
1
5
不过,不建议使用不同版本的CRT。与.NET不同,在.NET中可以从.NET 2.0 dll引用.NET 1.1 dll,非托管不提供这种灵活性。 由于无法将dll升级为使用较新的crt,因此只能在vs2005中重建boost。 此外,不建议连接不同CRT的两个DLL。它会导致诸如内存损坏之类的问题。 注意:每个visual studio都有其默认的crt版本,所有dll都引用该版本。 我也不明白“去掉新的阴极射线管”。您需要为使用的每个版本的visual studio安装visualstudio redist。(redist包含crt dll) http://msdn.microsoft.com/en-us/library/abx4dbyh%28VS.80%29.aspx |
|
|
2
3
解决方案是手动修改嵌入的清单以消除对最新crt的依赖,因为它是用动态链接的crt构建的。不过,我对这件事的安全性表示怀疑。 出于某种原因,在boost构建过程中强制包含targetsxs文件并没有强制它以指定的crt为目标。 |
|
|
3
0
您必须准确地找到boost项目中的哪个构造将依赖注入到错误的crt并删除/修改该构造。它可能是.vcproj文件中的某个东西,或者某个清单之类的东西。 VC++2005和VC++2008 CRT包含或多或少相同的原语-您可能完全可以用VC++2005重新编译Boost,或者稍微调整一下,然后再重新编译。是的,这需要一些努力,但这是唯一的方法-您的代码和boost代码都必须根据您想要使用的crt版本进行编译。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |