1. Dev C++ Error No Input Files Free
  2. Dev C++ Error 216

When you open a file, all kinds of things can go wrong. A file lives on a physical device — a fixed disk, for example, or perhaps on a flash drive or SD card — and you can run into problems when working with physical devices.

Oct 08, 2016  What do you see is the problem? Ppl say that it compiles well, but for me it is not the case. Thank you for your help. I'm trying to set windows programming enviroment for c. I use the Visual Studio to write the code but my University wants me to use g compiler. Fatal error: no input files compilation terminated. But if i use: g hello.cc. What greyfade said, and furthermore if you try to compile a.c file with g it will compile it as C.

For example, part of the disk might be damaged, causing an existing file to become corrupted. Or, less disastrous, you might run out of disk space. Or, even less disastrous, you might try to open a file in a directory that doesn’t exist.

If you try to open a file for writing by specifying a full path and filename but the directory does not exist, the computer responds differently, depending on the operating system you’re using. If you’re unsure how your particular operating system will respond, try writing a simple test application that tries to create and open something like /abc/def/ghi/jkl/abc.txt. (Of course, you’ll want to be sure to use a directory that doesn’t exist.)

Then one of two things will happen: Either the directory and the file will get created, or nothing will happen.

For example, on a Windows system, if we attempt to create a file in a directory that doesn’t exist, the system does not create the directory. That’s because deep down inside, the application ultimately calls an operating system function that does the dirty work of creating the file. And this particular operating system function (it’s called CreateFile(), if you even care) has a rule that it will not create a directory for you.

If you want to determine whether the ostream class was unable to create a file, you can call its fail() member function. This function returns true if the object couldn’t create the file. And that’s what happens when a directory doesn’t exist. The DirectoryCheck01 example shown demonstrates an example of this.

When you run this code, assuming that you don’t have a directory called /abc/def/ghi on your system, you should see the message Couldn’t open the file! Assuming that your particular operating system doesn’t create a directory in this case; if it does, your computer will open the file, write Hi to it, and move on with its happy life after closing things out.

As an alternative to calling the fail() member function, you can use an operator available in various stream classes. This is !, fondly referred to as the “bang” operator, and you would use it in place of calling fail(), as in this code:

Most people prefer to use !outfile instead of outfile.fail(), although !outfile makes confusing code. The reason is that outfile is an object, and the notion of !outfile simply doesn’t make sense.

In fact, !outfile trips up many beginning programmers. They know that outfile is not a pointer in this sample code, and they wonder how you could test it against 0 as you normally can only do with a pointer. (Remember, by saying !x, where x is some pointer, you’re testing x against 0.) And that simply doesn’t make sense! And so, to avoid confusion, just call fail(). It makes more sense.

Here are some reasons your file creation may choke:

  • The directory doesn’t exist.

  • You’re out of disk space and out of luck.

  • Your application doesn’t have the right permissions to create a file.

  • The filename was invalid — that is, it contained characters the operating system doesn’t allow in a filename, such as * or ?.

Like any good application, your application should do two things:

  1. 1.Check whether a file creation succeeded.

  2. 2.If the file creation failed, handle it appropriately.

    Don’t just print a horrible message like Oops!Aborting!, leaving your poor users with no choice but to toss the monitor onto the floor. Instead, do something friendlier — such as presenting a message telling them there’s a problem and suggesting that they might free more disk space.

< C Programming
C Programming
Obtaining a compiler

Dev-C++[edit]

Wikipedia has related information at Dev-C++

Dev C++ is an Integrated Development Environment(IDE) for the C++ programming language, available from Bloodshed Software. An updated version is available at Orwell Dev-C++.
C++ is a programming language which contains within itself most of the C language, plus extensions. Most C++ compilers will compile C programs, sometimes with a few adjustments (like invoking them with a different name or command line switch). Therefore, you can use Dev C++ for C development.

However, Dev C++ is not the compiler. It is designed to use the MinGW or Cygwin versions of GCC - both of which can be obtained as part of the Dev C++ package, although they are completely different projects.
Dev C++ simply provides an editor, syntax highlighting, some facilities for the visualisation of code (like class and package browsing) and a graphical interface to the chosen compiler. Because Dev C++ analyses the error messages produced by the compiler and attempts to distinguish the line numbers from the errors themselves, the use of other compiler software is discouraged since the format of their error messages is likely to be different.

The latest version of Dev-C++ is a beta for version 5. However, it still has a significant number of bugs. All the features are there, and it is quite usable. It is considered one of the best free software C IDEs available for Windows.

A version of Dev C++ for Linux is in the pipeline. It is not quite usable yet, however. Linux users already have a wealth of IDEs available. (e.g. KDevelop and Anjuta.) Most of the graphical text editors, and other common editors such as emacs and vim, support syntax highlighting.

Steps for Obtaining Dev-C++ if You're on Windows
  1. Go to https://sourceforge.net/projects/orwelldevcpp/ and pick the download option.
  2. The setup is pretty straight forward. Make sure the compiler option is ticked.
  3. You can now use the environment provided by the software to write and run your code.
  4. OPTIONALLY: 'C:Program Files (x86)Dev-CppMinGW64bin' can be added to the global PATH variable of the operating system to compile with gcc from a command prompt.

GCC[edit]

The GNU Compiler Collection (GCC) is a free/libre set of compilers developed by the Free Software Foundation and can be installed on a wide variety of operating systems. GCC commands are used throughout this book to demonstrate how to compile C code so you are encouraged to take the time to install GCC on your machine.

Steps for Obtaining the GCC Compiler if You're on GNU/Linux

On GNU/Linux, Installing the GNU C Compiler can vary in method from distribution to distribution. (Type in cc -v to see if it is installed already.)

  • For Ubuntu, install the GCC compiler (along with other necessary tools) by using sudo apt install build-essential, or by using Synaptic. You do not need Universe enabled.
  • For Debian, install the GCC compiler (as root) by using apt install gcc.
  • For Fedora Core, install the GCC compiler (as root) by using yum install gcc.
  • For Redhat, get a GCC RPM, e.g. using Rpmfind and then install (as root) using rpm -ivh gcc-version-release.arch.rpm
  • For Mandrake, install the GCC compiler (as root) by using urpmi gcc
  • For Slackware, the package is available on their website - simply download, and type installpkg gcc-xxxxx.tgz
  • For Gentoo, you should already have GCC installed as it will have been used when you first installed. To update it run (as root) emerge -uav gcc.
  • For Arch Linux, install the GCC compiler (as root) by using pacman -S gcc.
  • If you cannot become root, get the GCC tarball from ftp://ftp.gnu.org/ and follow the instructions in it to compile and install in your home directory. Be warned though, you need a C compiler to do that - yes, GCC itself is written in C.
  • You can use a commercial C compiler/IDE.
macOS

The simplest method for obtaining a compiler is to install Apple's proprietary IDE, Xcode, available for free.

Xcode comes bundled with a gcc-compatible compiler called clang which replaced GCC as Xcode's default C compiler a number of years ago. But because Xcode aliases the gcc command to the clang compiler, GCC installation isn't necessary to compile the example code in this book.

If you prefer using the GCC compiler, the third-party package manager, Homebrew, provides an easy installation process. You'll first need to install Homebrew, and then issue the brew install command to install the desired GCC Homebrew formulae. You may want to find a recent tutorial that will step you through this process as other commands may be necessary to get GCC set up flawlessly on your system, especially if you already have Xcode installed.

For hardcore computer enthusiasts, GCC can be compiled directly from the source code. We highly recommend searching out and following an up-to-date tutorial for installing GCC from source files.

Steps for Obtaining the GCC Compiler if You're on BSD Family Systems
  • For FreeBSD, NetBSD, OpenBSD, DragonFly BSD the port of GNU gcc is available in the base system, or it could be obtained using the ports collection or pkgsrc.
Steps for Obtaining the GCC Compiler if You're on Windows

There are two ways to use GCC on Windows: Cygwin and MinGW. Applications compiled with Cygwin will not run on any computer without Cygwin, so MinGW is recommended. MinGW is simpler to install, and takes less disk space.

Dev C++ Error No Input Files Free

To get MinGW, do this:

  1. Go to http://sourceforge.net/projects/mingw/ download and save this to your hard drive.
  2. Once the download is finished, open it and follow the instructions. You can also choose to install additional compilers, or the tool Make, but these aren't necessary.
  3. Now you need to set your PATH. Right-click on 'My computer' and click 'Properties'. Go to the 'Advanced' tab and click on 'Environment variables'. Go to the 'System variables' section and scroll down until you see 'Path'. Click on it, then click 'edit'. Add ';C:mingwbin' (without the quotes) to the end.
  4. To test if GCC works, open a command prompt and type 'gcc'. You should get the message 'gcc: fatal error: no input files compilation terminated.'. If you get this message, GCC is installed correctly.

To get Cygwin, do this:

  1. Go to http://www.cygwin.com and click on the 'Install Cygwin Now' button in the upper right corner of the page.
  2. Click 'run' in the window that pops up, and click 'next' several times, accepting all the default settings.
  3. Choose any of the Download sites ('ftp.easynet.be', etc.) when that window comes up; press 'next' and the Cygwin installer should start downloading.
  4. When the 'Select Packages' window appears, scroll down to the heading 'Devel' and click on the '+' by it. In the list of packages that now displays, scroll down and find the 'gcc-core' package; this is the compiler. Click once on the word 'Skip', and it should change to some number like '3.4' etc. (the version number), and an 'X' will appear next to 'gcc-core' and several other related packages that will now be downloaded.
  5. Click 'next' and the compiler as well as the Cygwin tools should start downloading; this could take a while. While you're waiting for the installation to finish, download any text-editor designed for programming. While Cygwin does include some, you may prefer doing a web search to find other alternatives. While using a stock text editor is possible, it is not ideal.
  6. Once the Cygwin downloads are finished and you have clicked 'next', etc. to finish the installation, double-click the Cygwin icon on your desktop to begin the Cygwin 'command prompt'. Your home directory will automatically be set up in the Cygwin folder, which now should be at 'C:cygwin' (the Cygwin folder is in some ways like a small unix/linux computer on your Windows machine -- not technically of course, but it may be helpful to think of it that way).
  7. Type 'gcc' at the Cygwin prompt and press 'enter'; if 'gcc: no input files' or something like it appears you have succeeded and now have the gcc compiler on your computer (and congratulations -- you have also just received your first error message!).

Third option is to use WSL:

  1. Go to http://aka.ms/wsldocs and follow the steps to install WSL
  2. Go to https://aka.ms/vscode and follow the steps to install VSCode
  3. Follow the guide and choose Get Started with C++ and WSL
  4. As a result you will need to install possibly Ubuntu and set-up accordingly installing GCC like the Linux guide above.

The current stable (usable) version of GCC is 4.9.1 published on 2014-07-16, which supports several platforms. In fact, GCC is not only a C compiler, but a family of compilers for several languages, such as C++, Ada, Java, and Fortran.

Embedded systems[edit]

  • Most CPUs are microcontrollers in embedded systems, often programmed in C, but most of the compilers mentioned above (except GCC) do not support such CPUs. For specialized compilers that do support embedded systems, see Embedded Systems/C Programming.

Other C compilers[edit]

Dev C++ Error 216

We have a long list of C compilers in a much later section of this Wikibook.Which of those compilers would be suitable for beginning C programmers, that we should say a few words about getting started with that particular compiler in this section of this Wikibook?


C Programming
Obtaining a compiler
Retrieved from 'https://en.wikibooks.org/w/index.php?title=C_Programming/Obtaining_a_compiler&oldid=3664895'
Coments are closed
Scroll to top