FAQ (Frequently Asked Questions)

wxDev-C++

<  Previous   <           = Home =             > Next >

Frequently Asked Questions (FAQ)

wxDev-C++ FAQ

Please note that we have a robust wxforum where someone has probably asked your question already.  We also have several online tutorials that are a great help to the beginner. Finally, SofT has written a book called "Programming with wxDev-C++".

If you have web access, please consult our online FAQ.

  • What is wxDev-C++?

wxDev-C++ is an extension of Dev-C++ with a Form Designer for the amazing cross-platform framework wxWidgets. It contains all the features of Dev-C++ alongside a recent wxWidgets distribution along with a form desinger for rapid application development (RAD).

  • Where can I get help for wxDev-C++?
You can either see the available tutorials or post your question in the wxForum.

  • Which language is wxDev-C++ written in?
wxDev-C++ and Dev-C++ were written with Borland Delphi 6.0 Personal Edition, a free (albeit closed-source) compiler for Windows (yes, the irony). Lots of open-sourced, third party components like the JVCL and extlib are used.

  • Where do I obtain the wxDev-C++ source code?
Have a look at our Subversion repository. You can download the source by clicking on the "Download GNU tarball" link.

  • Will there be a release for Linux?
You will have to ask this question to the core Dev-C++ developers. Since wxDev-C++ is based on Dev-C++, a Linux distribution will be a possible only if we have a Linux version of Dev-C++. Some effort (by Tony) have been put in to compile wxDev-C++ with Lazarus failed. Nuklear Zelph has managed to get wxDev-C++ running under Wine on the latest version of Ubuntu linux. You may wish to contact Nuklear on the wxforum if you want to find out how to do this.

  • Why does wxDev-C++ take a long time to compile, and the binaries produced so large?
    Because MingW gcc tries to emit code that will work on many platforms, it tends to be slow at compiling programs. Using the MS VC compiler may speed up compilation and produce (slightly) smaller binaries.

    Large binaries are produced because of static linkage with libstdc++ (which is said to be bulky) and the static, monolithic build of wxWidgets that we include in wxDev-C++. Dynamic linkage to wxWidgets can be done if desired (see the tutorial on building your own wxWidgets library), and switching to STLport is advised if you need to reduce the binary size.

    Most people assume that large binaries are a sign of waste and inefficiency. This may be true. However, remember that GUI programs are necessarily large due to the intensive use of graphics (even if you don't take advantage of all that the graphics can do). It's unlikely you'll produce a useful GUI for under 100 Kb or even under 1 Mb (even for a "Hello World!" program). So you can build you own wxWidgets library as a DLL that just includes wxTextCtrl and wxButton, BUT it's not going to be a very useful library for your other programs (which may need more components).

Dev-C++ FAQ

NOTE: This part of the FAQ is a holdover from Dev-C++ 4.9.9.2 and may no longer be up-to-date or relevant.

  • Why can't I use conio.h functions like clrsrc()?
Because conio.h is not part of the C standard. It is a Borland extension, and works only with Borland compilers (and perhaps some other commercial compilers). Dev-C++ uses GCC, the GNU Compiler Collection, as its compiler. GCC is originally a UNIX compiler, and aims for portability and standards-compliance.

If you really canot live without them, you can use Borland functions this way:
Include conio.h to your source, and add the following file to your project : C:\Dev-C++\include\conio.c (where C:\Dev-C++ is where you installed Dev-C++).

Please note that conio support is not complete.

  • My console window keeps closing, how do I change that ?

You can do it this way:
#include <iostream>

int main(int argc, char *argv[])
{
  printf ("Press ENTER to continue...\n");
  getchar (); /* wait for input */
  return EXIT_SUCCESS;
}

  • After linking, i get an error like C:\DEV-C++\LIB\\libmingw32.a(main.o)(.text+0x8e): undefined reference to `WinMain@16'
You probably haven't declared any main() or WinMain() function in your program.

  • How can i provide a .def file for my DLL ?
Go to the Project menu and select Project Options, Parameters sheet, Linker box . Add to the textbox, --def yourfile.def

  • I am having strange problems under Windows XP
Try to run Windows Update and make sure that you have the Program Compatibility updates.

  • How do I enable Debugging mode ?
Go to the Project menu and select Project Options and click on the Compiler sheet. In the Linker section, put “Yes” to 'Generate debugging information'. Do a 'Rebuild All' and you should be able to debug now.

  • When I launch Dev-C++ I get the message saying 'WININET.DLL' or 'MSCVRT.DLL' or ‘SHFOLDER.DLL’ not found
You are missing a Windows DLL (and probably have a broken version of Windows). Please go to the Microsoft Update site and see if you can fix your installation of Windows.

  • How to use assembly with Dev-C++ ?
The "GNU as" assembler uses AT&T syntax (not Intel).
Here's an example of such a syntax :
// 2 global variables
int AdrIO;
static char ValIO;

void MyFunction(..........)
{
    __asm("mov _AdrIO, %dx") ; // loading 16 bits register
    __asm("mov _ValIO, %al") ; // loading 8 bits register

    /*
    Don't forget the underscore _ before each global variable names !
    */
    __asm("mov %ax,%dx") ; // AX --> DX
}


  • I am using Windows 98 and I cannot compile
Some users have report that you need to apply several patches to your system. Here is the list of them, they can be found on Microsoft Windows 98 download site.

    * 47569us.exe - labeled as Windows98SE shutdown
    * dcom98.exe - see also this page
    * DX81eng.exe - latest version of DirectX (this is 11MB, and cannot be uninstalled without reinstalling Windows 98. You might want to try this one last in case the other above didn't work, as it should update many parts of the system).