如何使用VS2003工具集在VS11中构建C ++项目?

时间:2012-03-08 10:09:04

标签: c++ visual-studio visual-c++ msbuild visual-studio-2003

我尝试将Visual C ++ 2005的(工作)平台工具集的副本添加到C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ Platforms \ Win32 \ PlatformToolsets \ v71,替换所有内容有道理。

但是当我尝试编译我的项目时,输出结果令人失望:

1>  Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.6030 for 80x86
1>  Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
1>  
1>  cl ÿþ/
1>  
1>cl : Command line warning D4024: unrecognized source file type 'ÿþ/', object file assumed
1>  Microsoft (R) Incremental Linker Version 7.10.6030
1>  Copyright (C) Microsoft Corporation.  All rights reserved.
1>  
1>  /out:.exe 
1>   ■/ 
1>LINK : fatal error LNK1181: cannot open input file ' ■/.obj'
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

对我来说看起来像是一个字符集问题,但有没有人能让它工作?

3 个答案:

答案 0 :(得分:0)

我认为如果你按照this链接,你会找到你想要的答案。

您的 cl.dll 似乎没有数据或版本不正确,因此您可能无法完全转换工具链。


不在一边,我很好奇为什么要这样做

答案 1 :(得分:0)

为什么世界上你想要覆盖文件?它应该像更改项目中的可执行目录一样简单。什么时候它找到它将去的cl.exe / link.exe。 ProjectProperties->配置属性 - > VC ++目录。只需创建一堆配置。并调整每个编译器。它应该工作得很好。 请注意,您可能需要调整源,包括等等,但它应该都可以正常工作。

答案 2 :(得分:0)

  

取代有意义的一切

我相信,你错过了一个文件,因此你的cl.exe错了 依赖DLL的版本。

在我的Microsoft Visual Studio .NET 2003 / Vc7 / bin文件夹中,我看到了 以下文件,编译时需要:

cl.exe    Microsoft C/C++ Compiler Driver
c1.dll    Microsoft Visual C Compiler Front End
c1xx.dll  Microsoft Visual C++ Compiler Front End
c2.dll    Microsoft 80x86 Compiler Back End

还需要其他文件(ml.exe,link.exe,lib.exe,...) 创建二进制文件。但目前你的编辑失败了。

对于C ++项目,您将需要13.10.3077.0版本中的c1xx.dll。

顺便说一句:好主意。当我开始讨论时,我也想尝试一下。 ID 感谢您能在这里发布最终解决方案。