我有一个非常简单的 C++ 应用程序。
#include <stdio.h>
#include <iostream>
int main(int argc, char argv[]) {
cout << "hi" << endl;
}
当我在调试模式下第一次编译时,Visual Studio 抱怨“无法启动程序..\Debug\myprogram.exe。系统找不到指定的文件。”
但是,我认为这是显而易见的,因为我是第一次编译,对吗?这个可执行文件应该还不存在,那么为什么 Visual Studio 拒绝编译呢?
感谢您的帮助。
另外,当我构建时,会出现以下日志:
当我构建(构建->构建解决方案。)时,会出现此日志:
1>------ Build started: Project: print_digits, Configuration: Debug Win32 ------
1>Build started 12/23/2011 4:32:17 PM.
1>InitializeBuildStatus:
1> Creating "Debug\print_digits.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>FinalizeBuildStatus:
1> Deleting file "Debug\print_digits.unsuccessfulbuild".
1> Touching "Debug\print_digits.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:00.08
它说构建成功,但由于某种原因没有构建可执行文件。
这里有几个问题:
1)此错误是关于尝试运行程序,而不是编译它:
“无法启动程序..\Debug\myprogram.exe。系统无法 找到指定的文件。”
2)可能找不到程序的原因是编译失败。
以下是我从您的来源得到的错误:
tmp.cpp(5) : error C2065: 'cout' : undeclared identifier
tmp.cpp(5) : error C2297: '<<' : illegal, right operand has type 'char [3]'
tmp.cpp(5) : error C2065: 'endl' : undeclared identifier
tmp.cpp(6) : warning C4508: 'main' : function should return a value; 'void' return type assumed
如果添加“using namespace std;”,您应该能够修复这些特定错误
获得干净的编译,您应该能够运行调试器:)
我也有同样的问题。问题是我的防病毒软件(在我的例子中是 Avast)在创建文件时自动删除该文件。而且因为我将 Avast 置于静默模式,所以它没有注意到我的删除操作。因此,禁用防病毒软件或设置排除规则对我的情况有所帮助。
需要写在include之后
using namespace std;
我在 Visual Studio 2015 中也遇到同样的问题。 如果我有一个包含 2 个项目的解决方案,并将 Linker->General 中的输出文件设置为 $(IntDir)$(TargetName)$(TargetExt) 那么它会构建一个 .exe 文件(我已验证它存在),但我无法运行通过 Visual Studio。 除了恢复到 $(OutDir) 之外,我目前没有解决此问题的方法。 当前的问题是两个项目都在 $(IntDir) 中生成目标文件,但我在同一文件夹中得到两个不同的 .exe 文件。 一旦我尝试更改输出位置,我就无法让调试器通过 Visual Studio 执行 .exe 文件,因此我怀疑我需要编辑 .sln 或 .vcxproj 文件来解决问题。 不幸的是,Visual Studio 存在缺陷,如果您遇到这些问题,在这些情况下可能需要直接编辑 xml 文件。
当我没有在“属性”中声明正确使用的库时,我遇到了类似的错误。
我认为我要做的就是在属性/链接器/输入/附加依赖项中写入.lib文件的名称,并在“VC++目录”中设置路径。但仅使用 stdio 和 iostream 不应该遇到这个问题。
同样的问题也遇到过,经过一番RND终于找到了解决方案。 解决方案-转到项目属性->安全选项卡->取消选中“启用 ClickOnce 安全设置”。
我收到此错误是因为我的 .cpp 文件未包含在项目中。我左键单击并将其添加到项目中,我的问题得到了解决。