gpt4 book ai didi

c - 在我的 list 文件中获取错误的 C 运行时版本 (Visual Studio 2008)

转载 作者:太空宇宙 更新时间:2023-11-03 23:35:52 27 4
gpt4 key购买 nike

我在 Visual Studio 2008 中构建应用程序时遇到问题。我在我的项目属性中声明了以下内容:

_BIND_TO_CURRENT_MFC_VERSION=1_BIND_TO_CURRENT_CRT_VERSION=1_BIND_TO_CURRENT_ATL_VERSION=1

当我在 VS2008 中构建我的应用程序时,它会生成一个中间 list 文件,其中包含:

<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.30729.1' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>

现在,这台机器安装了更新的 C 运行时 DLL(版本 9.0.30729.4148 可以在 WinSxS 文件夹中找到)。上面的预处理器定义应该告诉 VS 使用最新的运行时 DLL,但它似乎并没有这样做。有谁能解释为什么开发工作室不会在 list 中显示这些 DLL 的更新版本?我可以在其他机器上构建相同的应用程序并在 list 文件中获得正确的数字,所以这一定是这台机器的设置所特有的,但我不知道是什么。

我遇到问题的机器是 Windows 2003 SP2 服务器。任何人都可以阐明 dev studio 如何计算出最新的运行时版本是什么吗?

谢谢,铝。

最佳答案

你确实有一个旧版本的 CRT。版本号在 vc\include\crtassem.h 包含文件中设置。 Windows Update 应该已经为您提供了去年 7 月发布的安全更新。它还会更新 CRT .h 和 .lib 文件。也许您是从另一个程序的安装程序那里获得该版本的。

如果您不想打开 Windows 更新,那么您可以获得安全更新 from here .请注意,它开始的下载相当大。

关于c - 在我的 list 文件中获取错误的 C 运行时版本 (Visual Studio 2008),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com