如何构建VS 2010的C运行时库?

时间:2010-08-11 21:05:31

标签: c++ visual-c++ visual-studio-2010

我需要修改VS2010附带的C运行时,因为2010 CRT依赖于Windows XP SP2中发布的功能,我需要能够部署到Windows 2000。

具体来说,我需要删除对EncodePointerDecodePointer的所有来电。

C运行时的源代码包含在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ crt \ src中,因此在稍微修改源代码后似乎应该可以构建运行时。

哦,我不需要能够构建运行时的动态版本 - 仅限静态版本。 (我不能依赖用户在他们的系统上安装CRT。)

使用VS2008及更早版本,MSDN中有一个教程描述如何构建CRT,但我似乎无法在2010年找到它。

这样的事情可能吗?

3 个答案:

答案 0 :(得分:6)

这是一个MSDN link。看起来你必须自己在VS2010中做到这一点。

  

您可以使用以下编译器和链接器选项来重建MFC,CRT和ATL库。从Visual C ++ 2010开始,不再提供用于重建这些库的脚本。

答案 1 :(得分:0)

如果是选项,我会考虑在VS2010中使用VC ++ 2008工具集,而不是构建自定义CRT。该程序解释为here

答案 2 :(得分:0)

  

"哦,我不需要能够构建运行时的动态版本 - 仅限静态版本。"

由于您只需要静态链接,您可以尝试使用this技巧来提供EncodePointer和DecodePointer的实现。