【问题标题】:Compiling C in Visual Studio 2010 Not Creating .EXE File在 Visual Studio 2010 中编译 C 不创建 .EXE 文件
【发布时间】:2012-08-10 17:00:47
【问题描述】:

我能够在 Visual Studio 2008 中调试 C 程序并构建它。但是,构建过程似乎并没有在它构建的文件夹中留下 .exe。无论我选择“发布”还是“调试”。 .exe 可以发送到其他地方吗?我怎么知道?

项目主文件夹下Debug文件夹的内容:
cl.command.1.tlog
CL.read.1.tlog
CL.write.1.tlog
ConsoleApp.Build.CppClean.log
ConsoleApp.exe.embed.manifest
ConsoleApp.exe.embed.manifest.res
ConsoleApp.exe.intermediate.manifest
ConsoleApp.lastbuildstate
ConsoleApp.log
ConsoleApp.obj
ConsoleApp_manifest.rc
link-cvtres.read.1.tlog
link-cvtres.write.1.tlog
link.1504-cvtres.read.1.tlog
link.1504-cvtres.write.1.tlog
link.1504.read.1.tlog
link.1504.write.1.tlog
link.command.1.tlog
link.read.1.tlog
link.write.1.tlog
mt.command.1.tlog
mt.read.1.tlog
mt.write.1.tlog
rc.command.1.tlog
rc.read.1.tlog
rc.write.1.tlog
stdafx.obj
vc100.idb
vc100.pdb

【问题讨论】:

  • 目标是什么?你确定你正在构建一个可执行文件,而不是一个库?
  • 如果你能调试它,它必须在输出文件夹中有一个可执行文件。
  • 你有没有看到项目目录下的调试文件夹,即源文件上方的一个目录???
  • 那里看不到文件。我将使用 dir 文件列表更新问题。
  • 尝试在项目文件夹中搜索*.exe (F3)。或者在调试模式下暂停程序,在任务管理器的进程列表中搜索exe右键->属性

标签: c compilation


【解决方案1】:

我花了大约 3 个小时试图弄清楚这一点,终于明白了: 您会注意到在项目文件中,有一个调试文件夹。在这个文件夹中通常应该是一个

an .exe file, 
a .ilk file, 
and a .pdb file. 

这些对我来说是缺失的。我是如何解决的:

我从另一个项目的调试文件夹中复制了这 3 个文件并将它们粘贴到我的项目的调试文件夹中。然后我重命名它们以匹配我的 C++ 文件 (.cpp) 的名称。但是,这还不够,您必须像这样保存它,然后关闭 Visual Studio,然后再次从 Windows 资源管理器中打开项目文件。

那是为我做的!最后!!!

【讨论】:

    【解决方案2】:

    我发现这是因为 Visual Studio 在您制作新的控制台应用程序时构建目录结构的方式反直觉。你得到两个文件夹和两个调试文件夹,即

    ├───MakeSubscriber
    │   ├───Debug
    │   ├───ipch
    │   │   └───makesubscriber-67e243a
    │   └───MakeSubscriber
    │       └───Debug
    

    所以所有 tlog 和中间文件都放在一个 Debug 文件夹中,而 exe、ilk 和 pdb 放在另一个文件夹中

    【讨论】:

      【解决方案3】:

      当(出于某种原因)在任务管理器中找到多个 MSBuild.exe 时,我遇到了这个错误。我把它们都杀了,它又起作用了。

      【讨论】:

        【解决方案4】:

        我能够为全班解决这个问题。问题是在将 win32 控制台应用程序清空然后创建 .cpp 时,程序没有将 .cpp 添加到 .cpp 文件名的末尾。当我手动添加它时,例如 practice.cpp 而不是仅仅练习,它创建了 .exe 文件。它适用于遇到问题的每个人。

        【讨论】:

          【解决方案5】:

          右键项目节点,打开属性页:-

          在配置属性的常规节点中。
          在那里你会看到两个字段:-

          1. 输出目录
          2. 目标扩展。 如果目标扩展名是 .exe,那么一切都很好。
            查看输出目录,您会找到可执行文件。

          编辑:- 你看错地方了。 你必须看这里(一个例子):-

          C:\Documents and Settings\USER\My Documents\Visual Studio 2010\Projects\C\The_c\Debug
          

          你在这里看到

          C:\Documents and Settings\USER\My Documents\Visual Studio 2010\Projects\C\The_c\The_c\Debug
          

          即当前目录之上的两个目录。

          【讨论】:

          • 嗯。这些设置似乎正确,但我仍然找不到 .exe。
          • @brun:- 我已经编辑了,请查看上面的两个目录的调试文件夹(重建后)。期望您的输出目录标记为.\Debug
          • 我在 C:\SOURCE\ConsoleApp\ConsoleApp 工作,而我在 C:\SOURCE\ConsoleApp\ConsoleApp\Debug 或 Release 中没有 .exes
          • 查看 C:\SOURCE\ConsoleApp\Debug\(用于调试版本)
          • 谢谢。我一直在查看子文件夹 ConsoleApp。以为我疯了。 +1 并回答
          【解决方案6】:

          您是否尝试过检查项目属性中的输出路径?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-11-10
            • 1970-01-01
            • 1970-01-01
            • 2011-02-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-06-01
            相关资源
            最近更新 更多