19

我刚刚从 VS2005 迁移到 VS2010,它无法编译一个简单的程序。

#include <iostream>
using std::cout;
using std::endl;

int main()
{
    cout << "Hello Visual Studio 2010 :)" << endl;
}

错误 -

1  error TRK0005: Failed to locate: "CL.exe". The system cannot find the file specified.
2  IntelliSense: cannot open source file "iostream"
3  IntelliSense: name followed by '::' must be a class or namespace name
4  IntelliSense: name followed by '::' must be a class or namespace name
5  IntelliSense: identifier "cout" is undefined
6  IntelliSense: identifier "endl" is undefined

PS:我对使用 VS2010 完全陌生,但对 VS 2005 有经验。

以下是我在“用户属性表”下从 VS2005 添加到 VS2010 的目录列表

可执行文件 -

$(VCInstallDir)bin; $(VSInstallDir)Common7\Tools\bin; $(VSInstallDir)Common7\tools; $(VSInstallDir)Common7\ide; $(VSInstallDir); $(VSInstallDir)\SDK\v2.0\bin

包括 -

$(VCInstallDir)include; $(VCInstallDir)atlmfc\include; $(FrameworkSDKDir)include

图书馆 -

$(VCInstallDir)lib; $(VCInstallDir)atlmfc\lib; $(VCInstallDir)atlmfc\lib\i386; $(FrameworkSDKDir)lib; $(VSInstallDir); $(VSInstallDir)lib

来源 -

$(VCInstallDir)atlmfc\src\mfc; $(VCInstallDir)atlmfc\src\mfcm; $(VCInstallDir)atlmfc\src\atl; $(VCInstallDir)crt\src
4

4 回答 4

18

我在几台不同的机器上遇到了同样的问题,这些机器已经安装了其他版本的 VS(2005、2008)。我最终也得到了各种奇怪的错误。

我发现以下技巧对我有用,也许它也适用于您的情况: - 打开 VS2010 的新实例 - 使用 def 设置创建新的控制台应用程序。- 尝试编译:应该有一些错误 - 打开“属性管理器” - 调出项目的 Microsoft.Cpp.Win32.user 属性表 - 单击 VC++ 目录 - 单击“可执行目录”字段。那应该会显示一个下拉菜单,单击下拉菜单并选择“编辑”。您应该会看到一堆继承的值,这些值应该包含与您上面列出的目录类似的所有必需目录。取消选中“从父级或项目默认值继承”选项。重新检查并单击“确定”。
- 对包含、库目录等重复此操作。 -单击“应用”和“确定”

我只需要这样做一次。关闭 VS 并创建一个新项目后,我就可以编译了。在我发现这一点之前,我手动删除了所有继承的值并添加了所有 VS 和 SDK 目录的绝对路径。这也有效,但工作量更大。

于 2011-01-04T16:43:31.307 回答
6

系统找不到 Visual C++ 编译器 (CL.exe)...

你应该尝试的事情:

  • 重新运行 Visual Studio 2010 安装程序并确保您选择为您的平台(x86 或 amd64)安装 Visual C++ 工具。

  • 在修复模式下运行安装程序。

如果这不能解决您的问题:

于 2011-01-04T13:52:55.827 回答
5

我遇到了同样的问题,通过搜索找到了这个页面,但我不太了解 Ralf 关于用户属性表的答案,并且重新安装也没有运气。我认为 Ralf 的回答对我有用,但我正在查看当您在解决方案资源管理器中右键单击项目并选择“属性”时出现的“属性页面”对话框。我没有意识到它与“物业经理”不同。

所以,我在 msdn 论坛上提问,得到了答案对属性表的很好解释。对我有用的解决方案是在文本编辑器中编辑用户属性表并删除所有路径,将其留空,如下所示:

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

</Project>

用户属性表在 Win7Microsoft.Cpp.Win32.user.props下的 <localappdata>\microsoft\msbuild\v4.0where<localappdata>下 。c:\users\<username>\appdata\local

于 2011-10-25T03:45:17.793 回答
0

我不知道为什么会这样,但我收到了这个错误,安装Visual Studio Power Commands为我解决了这个问题。此扩展添加了配置属性 -> VC++ 目录,允许您直接修改 ExecutableDirectories 宏,它可能与此有关。

于 2013-10-08T21:15:32.203 回答