Ilman
Ilman

Reputation: 79

Building a C++ project in Visual Studio doesn't create any files

I recently decided to start learning Visual Studio so that it replaces my need for CodeBlocks and MinGW for C++ programming. So, today I made a new Win32 C++ Console Application, wrote down this code in a new .cpp file

#include <iostream>
using namespace std;

int main()
{
    int a;
    cin >> a;
    cout << a << endl;

    return 0;
}

and compiled it. The log said

1>------ Build started: Project: CPP_CONSOLE_TEST, Configuration: Debug Win32 ------ 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(357,5): warning MSB8004: Output Directory does not end with a trailing slash. This build instance will add the slash as it is required to allow proper evaluation of the Output Directory. ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

and I though my code was compiled and my .exe was created. Then, upon trying to debug my program, Visual Studio said:

Unable to start program 'C:\Users\XYZ\Documents\Visual Studio 2013\Projects\CPP_CONSOLE_TEST\Debug\CPP_CONSOLE_TEST.exe'. The system cannot find the file specified.

I then opened the Debug folder of the project and it was completely empty...

I've been searching around Google for some time and I even tried to "Repair" my Visual Studio build with no results. Any help?

Quick edit: Just tried compiling a C# app, just to see if the IDE itself was the problem. It compiled and ran just fine, so it's some issue with the Visual C++ compiler and its settings...

Upvotes: 0

Views: 1376

Answers (3)

Why don't you try to use Serge Rogatch's solution? There is a bug in Visual Studio which leads to problems when project has long path.

Upvotes: 0

Ilman
Ilman

Reputation: 79

Turns out I hadn't added the source file to the Project... :|

Upvotes: 1

C&#233;dric Emery
C&#233;dric Emery

Reputation: 41

Visual Studio, has its own vision of c++ projects. By default, it needs a #include "stdafx.h" on top of your cpp file, with the associated stdafx.h and stdafx.cpp files. Then, in a c++ visual studio project, the real definition of the main function is int _tmain(int argc, _TCHAR* argv[]). But it should work with your definition.

Upvotes: 0

Related Questions