【问题标题】:"The system cannot find the file specified" when running C++ program运行C++程序时出现“系统找不到指定的文件”
【发布时间】:2013-05-06 21:20:25
【问题描述】:

我安装了 Visual Studio 2010。我编写了一个简单的代码,我确信它是正确的,但不幸的是,当我运行该代码时,我收到以下错误。

这是我的代码:

#include<iostream>
using namespace std;
int main (){ 
  cout <<"Hello StackOverFlow ;)";
  return 0;
}

这是错误:

无法启动程序 'C:\Users\Soheil\Desktop\New folder\sam\Debug\sam.exe 系统找不到指定的文件

你能帮我解决这个问题吗?我应该在 具体目录?我花了很多时间来解决这个问题 还没有成功。

【问题讨论】:

  • 您在尝试运行之前是否构建项目?您的构建日志(在屏幕截图中可见)未显示任何输出。
  • Build,在计算机编程中使用,意味着运行编译器和链接器工具。不是开发代码的实际创造性行为。
  • @Sam 构建项目与从“文件”菜单创建新项目不同。要构建项目,请使用 F6 或 F5 键(或调试菜单中的“清理并构建”)。
  • 此错误最可能的原因是您创建了一个 C++ 库项目,而不是您的代码最适合的 C++ Win32 控制台应用程序。
  • @Andrei,如果您还没有选中“不再询问”框

标签: c++ visual-studio


【解决方案1】:

我在调试模式下遇到了这个问题,丢失的文件来自我正在使用的静态库。在调试过程中使用 step over 而不是 step into 解决了问题

【讨论】:

    【解决方案2】:

    我遇到了这个问题,但这些解决方案都没有 100% 有效

    除了建议更改的 ReturnVoid 的回答

    项目属性 -> 链接器 -> 输出文件 -> $(OutDir)$(TargetName)$(TargetExt)

    我需要改变

    项目属性 -> C/C++ -> 调试信息格式 -> /Zi

    此字段对我来说是空白的,将内容更改为 /Zi(或 /Z7/ZI,如果您要使用这些格式)允许我进行调试

    【讨论】:

      【解决方案3】:

      我知道这个帖子已有 1 年历史,但我希望这对某人有所帮助,我的问题是我需要添加:

          #include "stdafx.h"
      

      对于我的项目(第一行),大多数时候似乎都是这样!

      【讨论】:

      • 不,这与这里的问题无关。如果您使用预编译的头文件,您确实需要包含stdafx.h(或任何名称,这是默认值)。但是如果你忘记了,你会得到一个特定的编译器错误——很难误解。
      • 不正确。如果您正在执行 TWL/MFC 编程,则必须包含 stdafx 否则会发生类似此错误的奇怪事情。
      【解决方案4】:

      这是初学者的第一步。同样的事情发生在我身上:

      查看左侧的解决方案资源管理器框。确保那里实际上有一个.cpp 文件。您可以通过查看存储项目的.sln 文件的.cpp 文件来执行相同操作。如果没有,那么您将收到该错误。

      添加 cpp 文件时,您希望使用 添加新项目 图标。 (左上角有一个金星,将鼠标悬停在上面可以看到名称)出于某种原因,Ctrl+N 实际上并未将.cpp 文件添加到项目中。

      【讨论】:

      • 我在 Visual Studio 2017 中看不到“添加新项目”图标。
      【解决方案5】:

      对我来说,我没有在解决方案资源管理器中设置我的启动项目。

      进入VS左侧的Solution Explorer,右击你的单元测试项目,选择“设置为启动项目”。

      我刚刚将我的代码移植到一个新的工作区,并忘记了当我在解决方案中的 VS 中打开项目时,我需要重新设置我的启动项目。

      【讨论】:

        【解决方案6】:

        正如其他人所提到的,这是一个旧线程,即使使用此线程,也往往会有不同的解决方案适用于不同的人。适用的解决方案如下:

        Right Click Project Name > Properties
        Linker > General 
        Output File > $(OutDir)$(TargetName)$(TargetExt) as indicated by @ReturnVoid
        Click Apply
        

        无论出于何种原因,这个初始更正并没有解决我的问题(我正在使用 VS2015 社区来构建 c++ 程序)。如果您仍然收到错误消息,请尝试以下附加步骤:

        Back in Project > Properties > Linker > General > Output File > 
        

        您会看到之前输入的粗体文本

        Select Drop Down > Select "inherit from parent or project defaults"
        Select Apply
        

        以前的粗体不再是粗体

        Build > Rebuild > Debug
        

        除了@ReturnVoid 发布的内容之外,我不需要这些额外的步骤,但是……有效的就是有效的……希望它也能帮助其他人。谢谢@ReturnVoid

        【讨论】:

        • 对我来说,单击输出文件的下拉箭头后,我没有看到从父级或项目默认值继承的选项
        【解决方案7】:

        在下载项目后,在调试模式下遇到了同样的问题。搜索了几个小时没有任何运气。以下解决了我的问题;

        项目属性 -> 链接器 -> 输出文件 -> $(OutDir)$(TargetName)$(TargetExt)

        它之前指向一个在调试模式下没有运行 MSVS 的文件夹。

        编辑:我一发布这个我就遇到了:unable to start "program.exe" the system cannot find the file specified vs2008 这解释了同样的事情。

        【讨论】:

          【解决方案8】:

          我知道这是一个旧线程,但对于任何未来的访问者来说,这个错误的原因很可能是因为你还没有从 Build &gt; Build Solution 构建你的项目。尝试运行项目时出现此错误的原因是 Visual Studio 找不到在构建项目时应该生成的可执行文件。

          【讨论】:

          • 这是一个很好的第一步,但不幸的是,即使在成功构建的情况下也会出现错误。根据设置,如果链接器输出文件与目标文件的路径、名称和扩展名不匹配,它可能会构建一个文件——甚至显示“构建/重建成功”——但它将无法在调试中运行。
          【解决方案9】:

          我有同样的问题,我可以解决它! 你应该添加 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64 对于 64 位系统 /C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib 对于 32 位系统 在属性管理器->链接器->常规->附加库目录

          也许它可以解决将来某人的问题!

          【讨论】:

            【解决方案10】:

            如果vs2010安装正确

            检查文件类型(.cpp)

            再次构建它会自动修复,(如果您使用的是 VS 2010)

            【讨论】:

              【解决方案11】:

              由于此线程是该错误的最佳结果之一并且尚未修复,因此我将发布我发现的修复它的内容,最初是在此线程中找到的:Build Failure? "Unable to start program... The system cannot find the file specificed" 这将我引导到此线程:@987654322 @

              基本上我所做的就是: Project Properties -> Configuration Properties -> Linker (General) -> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"

              【讨论】:

                【解决方案12】:

                我最近没用过VS 2010。

                您的应用程序真的可以正确构建吗? 要在VS 2010 C++ Express 中获得更多控制权,您可以检查Tools&gt;Settings 下的菜单项“Expert Settings”以获取Build' menu
                点击Build-&gt;Build Solution(或Rebuild)后,您可以在Output窗口(@98​​7654330@)中验证您的应用程序是否正确编译和链接。

                来源:

                希望对你有帮助。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-10-27
                  • 2016-07-03
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多