【发布时间】:2011-01-18 09:02:12
【问题描述】:
我正在使用 Visual Studio 2008 SP1 for C++。编译时,Visual Studio 需要选择应用程序应链接的 CRT 和 MFC DLL 版本,版本 9.0.21022.8 (= RTM)、9.0.30729.17 (= SP1) 或 9.0.30729.4148(= 带有安全更新的 SP1) .我想知道如何选择两个版本中的哪一个将被链接。有人知道吗?
注意:这在使用 private assembly 时很重要,因为您需要知道要与 .exe 一起复制哪些版本的 VC 9.0 DLL。
注意 _BIND_TO_CURRENT_VCLIBS_VERSION 标志仅确保清单中包含正确的版本。运行时的 DLL 版本选择显然不是基于清单文件中包含的版本。即使清单文件说应该使用 v21022,.exe 也会使用 v30729 .DLL。我知道这一点,因为它使用 v21022 中不存在的 std::tr1::weakptr。
【问题讨论】:
-
请注意:Visual Studio 2008 SP1 是 9.0.30729.1
-
@Simon:你是对的!我更新了我的问题。
标签: c++ windows visual-studio-2008 dll dependencies