Visual Studio抱怨在编译调试时找不到.exe

时间:2011-12-23 21:52:39

标签: c++ visual-studio-2010

我有一个非常简单的C ++应用程序。

#include <stdio.h>
#include <iostream>

int main(int argc, char argv[]) {
  cout << "hi" << endl;
}

当我第一次在调试模式下编译时,Visual Studio会抱怨“无法启动程序.. \ Debug \ myprogram.exe。系统无法找到指定的文件。”

但是,我认为这是显而易见的,因为我是第一次编译,对吧?这个可执行文件还不存在,那么Visual Studio为什么要编译呢?

感谢您的帮助。

此外,在构建时,会出现以下日志:

当我构建(Build-&gt; Build solution。)时,会显示以下日志:

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

它表示构建成功,但由于某种原因没有构建可执行文件。

6 个答案:

答案 0 :(得分:1)

需要在包含

后写
using namespace std; 

答案 1 :(得分:1)

我有同样的问题。问题是我的防病毒软件(在我的情况下是Avast)在创建时自动删除了文件。因为我在静音模式下使用Avast,所以没有注意到删除。因此,在我的案例中,禁用防病毒软件或设置排除规则是有帮助的。

答案 2 :(得分:0)

这里有几个问题:

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;”

,您应该能够修复这些特定错误

获得一个干净的编译,你应该能够运行调试器:)

答案 3 :(得分:0)

当我没有在“属性”中声明我正确使用的库时,我遇到了类似的错误。

我认为我要做的是在Properties / Linker / Input / Additional Dependencies中写入.lib文件的名称,并在“VC ++目录”中设置路径。但是你不应该只用stdio和iostream来解决这个问题。

答案 4 :(得分:0)

面临同样的问题,经过一些RND终于找到了解决方案。 解决方案 - 转到项目属性 - &gt;安全性选项卡 - >取消选中“启用ClickOnce安全设置”。

答案 5 :(得分:0)

我在Visual Studio 2015中遇到了同样的问题。 如果我有一个包含2个项目的解决方案,并将输出文件设置为Linker-&gt; General设置为$(IntDir)$(TargetName)$(TargetExt),那么它会构建一个.exe文件(我已经验证它存在),我不能通过Visual Studio运行它。 除了恢复到$(OutDir)之外,我目前还没有解决这个问题的方法。 目前的问题是两个项目都在$(IntDir)中生成目标文件,但我在同一个文件夹中得到两个不同的.exe文件。 一旦我尝试更改输出位置,我就无法让调试器通过Visual Studio执行.exe文件,所以我怀疑我需要编辑.sln或.vcxproj文件到解决问题。 不幸的是,Visual Studio很有问题,可能需要在这些情况下直接编辑xml文件,如果这些是您遇到的问题。