为什么我的C代码不能编译成EXE

时间:2008-11-16 02:39:40

标签: c visual-studio

我刚刚开始编写尝试用C编写一个简单的程序,我正在使用Visual Studios这样做。我听说它确实编译C和C ++。我知道它确实是因为它说它编译。唯一的问题是,当我进入输出目录时,目录中没有.exe文件!它具有以下内容:

  • BuildLog.html
  • mt.dep
  • test1.obj
  • vc90.idb
  • vc90.pdb

但这就是全部!没有EXE。我查看了所有选项并确保将其设置为编译为exe并检查输出文件。那是$(OutDir)\ $(ProjectName).exe。但是,唉,没有exe出现。有什么想法吗?

此外,当我尝试按f5并首次亮相时,我会收到错误消息

  

此应用程序无法启动   因为找不到MSVCR90.DLL。   重新安装应用程序可能会修复   这个问题

5 个答案:

答案 0 :(得分:4)

默认情况下,当您在新解决方案中创建新的C ++项目时,您将获得如下文件夹结构:

C:\项目\ YourSolution C:\项目\ YourSolution \ YourCppProject

YourSolution包含YourSolution.sln,YourCppProject包含YourCppProject.vcproj。

构建解决方案时,YourCppProject中的所有中间文件都存储在YourCppProject \ Debug或YourCppProject \ Release下,但生成的YourCppProject.exe位于YourSolution \ Debug或YourSolution \ Release下。

您的$(OutDir)由General配置 - >输出目录。检查YourCppProject的项目配置,看看它是否使用$(SolutionDir)作为输出。

答案 1 :(得分:2)

它是一个C / C ++控制台应用程序吗? 你是否使用项目向导来创建它?

你有像

这样的功能吗?
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
    printf("Hello, world!\n");
    return 0;
}
<。>在.c模块中,通常是main.c?

当你按F5运行调试时会发生什么? 你的构建日志是什么样的?

答案 2 :(得分:1)

最简单的事情就是重新开始,确保选择合适的项目。

要使用Visual Studio编译普通的旧C代码,请从“新建项目”菜单中选择Visual C++ > General > Empty Project。这将创建3个空文件夹:头文件,资源文件和源文件。右键单击“源文件”,选择Add > New Item。然后添加main.cpp,将其重命名为main.c,然后开始编码。

答案 3 :(得分:0)

http://msdn.microsoft.com/en-us/library/ms235299.aspx

  
    

注意:

         

不支持重新分发     构建的C / C ++应用程序     没有明显。 Visual C ++     C / C ++不能使用库     没有清单的应用程序     将应用程序绑定到这些     库。有关更多信息,请参阅     选择部署方法。

  
     

如果无法访问DLL并且   Windows无法加载此DLL   申请,您可能会得到以下   错误讯息:

     

此应用程序无法启动   因为找不到MSVCR90.dll。   重新安装应用程序可能会修复   这个问题。

     

要解决这些错误,您必须制作   确保您的应用程序已构建   正确和Visual C ++库是   正确部署在目标上   系统。确定的根本原因   这些运行时错误,请遵循   故障排除中列出的步骤   C / C ++隔离应用程序和   并排组装。

HTH

答案 4 :(得分:0)

听起来你只是点击编译,这会给你你.obj文件,但你仍然需要点击构建。