Tuesday, November 5, 2013

Dev-C++ 5.5.3, 5.6.0 RC3 released

A newer version is available!

More minor fixes incoming.

Changes - Version 5.5.3 - 5 November 2013
  • Fixed lib32, -m32 and gdb32 not being used by default by 32bit profiles.
  • The function tooltip works again.
  • The function tooltip hides again when its editor goes out of focus.
  • Fixed a possible crash in the code completion window.
  • Removed some superfluous spaces from variables found in argument lists.

Download
  • The setup which includes MinGW32 4.7.2 can be downloaded here (25MB).
  • The setup which includes TDM-GCC x64 4.7.1 can be downloaded here (44MB).
  • The setup which does not include a compiler can be downloaded here (2MB).
  • The portable version which includes MinGW32 4.7.2 can be downloaded here (17MB).
  • The portable version which includes TDM-GCC x64 4.7.1 can be downloaded here (32MB).
  • The portable version which does not include a compiler can be downloaded here (2MB).
  • The latest tested compilers can be downloaded here. TDM-GCC 4.8.1 can be downloaded now!
  • Lastly, the source code can be found here (1MB).




Release Candidate 3 of the next version

The 5.6.0 RC3 update can be found here. Its source code can be found here. Install by extracting the provided archive over any 5.5.x installation.

Changes - Version 5.6.0 RC3 - 11 Januari 2013
  • The class browser can now show the contents of system includes.
  • Added a compiler set selector to the toolbar.
  • The Remove Unit Form is resizable again.
  • Code completion now also works on modified files.
  • The parser now processes preprocessor lines too.
  • Parsing speed has been improved by around 400% (average of my own projects).
  • Added "Duplicate Line" and "Delete Line" functions to Menu >> Edit.
  • When only changing case during a Rename, the input file will not be deleted anymore.
  • Project templates now also accept the old "Catagory" input field again.
  • Fixed an "External Exception" when handling compiler sets.
  • When parsing, the status bar does not flicker anymore.
  • The executable version number is equal to the official version number again.
  • Added about twenty previously hardcoded text items to the language tables.
  • Cache saving speed has been improved infinitely when the cache is bigger than 16MiB.
  • Users can now input a correspondence e-mail into the crash reporter message.
  • In Editor Options, the "Symbol Completion" section has been moved to the "Code Completion" section.
  • Completed closing symbols are now deleted when the corresponding opening character is deleted.
  • Fixed a argument highlighting problem in the function tooltip.
  • As of 5.6.0 RC1, a different completion cache file format is used. Older versions are not forward compatible.
  • The console pauser can now pass 32K characters to the running program instead of just 1K.
  • Fixed a bug in the first time config window that caused a crash when no compilers were installed.




Choosing between 32bit and 64bit
  • The 64bit compiler will fully work op 32bit systems.
  • The 64bit compiler can create 64bit and 32bit executables and DLLs.
  • The 64bit compiler currently provides much more headers and libraries.
  • The 32bit compiler can only create 32bit executables and DLLs.

62 comments:

  1. Crashes when trying to cache all headers on start-up (Win 7 64 bit) (MINGW Setup).

    ReplyDelete
    Replies
    1. Aye, confirmed. Working on it.

      Delete
    2. FYI, it fails when it tries to parse "bits\random.h". Don't know why yet.

      Delete
    3. FYI2, it fails at line 69 of "MinGW32\lib\gcc\mingw32\4.7.2\include\c++\bits\random.h". That line contains a template definition where a < operator is used "template<(here)>". This is obviously rather confusing for the tokenizer, because it counts < and > to find the end of a template. Adding < inside there makes the tokenizer think the template is infinitely long.

      Delete
  2. I was trying to figure out how to enable c++11 features with this release, I had tried to use -std=c++11 or -std=gnu++11 option, neither worked for me to use "unordered_map" type in my code. (Win 7 64 bit) (TDM-GCC Setup)

    ReplyDelete
  3. Thanks for resuming the development of this software! I've checked back periodically and I can see the consistent improvements that've been been made. Please keep up the good work! While I'm pretty happy with where the software is at, I have a few suggestions:

    - Indent guide confused by multiple lines. For example, if I have an if line with several long conditions I might put them on several lines, such as if(test==1 || [new line][tab][tab] test==2 || [new line][tab][tab] test==3) { and then I'd typically indent the code block a single tab. The indent guide appears attached to the last line, but then the line runs through the code below it. Maybe it could be attached to the start of the if line?
    - Improved closing parenthesis behavior. If I type string.find(, the closing parenthesis appears, but if I delete over the opening one the closing is still there. Also, if I manually type the closing parenthesis it won't overwrite the auto inserted one.

    ReplyDelete
  4. install at windows 8.1 failed

    ReplyDelete
    Replies
    1. Successfully installed on Windows 8.1 without any errors. I have used MinGW32 4.7.2.

      Delete
    2. its successfully installing but when i try to run my c programs a pop up box appears as programname.exe has stopped working

      example : 1.exe has stopped working can anyone please tell me how to run my c programs on my windows 8.1 64 bit using dev cpp

      Delete
  5. Orwell dev-c is best ide.
    Only feature that it lacks is auto code complete like in vs, code::block, codelite.
    I hope you think about it in later release. thankyou.

    ReplyDelete
  6. Greetings! I wanted to ask if you plan to insert an own standard console into your IDE. This would be great with working on SDL, since the text output is redirected into a stdout.txt-file.
    And thanks for your splendid work. I really appreciate it.

    ReplyDelete
  7. thanx
    http://computerarea96.blogspot.com/

    ReplyDelete
  8. Hi,
    Can you please improve the debugging viewing function. All the variables which are set on watch should have their own table giving instantaneous results of the variables being watched. Or is it already featured?...

    ReplyDelete
  9. sorry, found that table, good job, the 4.9version had many issues. Thanx.

    ReplyDelete
  10. good work, but compiler paths are broken when you close and re-open a .dev project
    gcc.exe: error: CreateProcess: No such file or directory

    ReplyDelete
  11. Trying to make a simple 32 bit hello world project, but Avast is snatching all the output .exe's
    could it be anything in the linked modules to trigger this?

    ReplyDelete
  12. Hi,
    First, excellent work again in Improving Dev-C++,
    I'm having trouble running a program that contains this command "system (" MODE CON COLS = 80 LINES = 31 ");". The ConsolePauser does not recognize this command, I wonder how can I configure the Dev for the execution occurs directly in Windows CMD, as occurred in earlier versions

    ReplyDelete
  13. Hi, Orwell
    Thanks for you job.

    Just have found a small issue with Dev-Cpp 5.5. Parsing of file containing a line like "foo(bar/*32*/);" halts with zero CPU load (Win XP SP3 - "Program not responding"). When I remove the comment everything works fine.

    ReplyDelete
    Replies
    1. Works fine in the in-house versions of 5.5.4 and 5.5.3. Can you provide a whole file that causes Dev-C++ to hang?

      Delete
    2. Yes. I already realized that the case is not that simple. Emailed.

      Delete
  14. Hi there,
    first of all, thank you for improving Dev-C++!
    I wanted to ask following things:
    1. Do you plan to improve the project files itself so they can save the last stand of the open files of your project? For instance, when I have the files a, b and c in my project and I only had the files a and c open. So when I reopen the project it'll load only file a and c. Or is it already implemented and I have to activate it somewhere?

    2. I have problems with including binaries; in a previous version I could simply put the path of the shared libaries (.dll) to:
    Tools -> Compiler Options -> Directories -> Binaries. Now it doesn't work anymore i.e. I have to put the dlls into the project folder to execute my applications using the IDE by clicking on Run. Have I forgot something?

    Kind regards, keep up the good work!

    ReplyDelete
    Replies
    1. 1) This is possible using Tools >> Environment Options >> Auto Open. However, this option affects all projects. Would you prefer a per-project option instead?

      2) That should work fine, I'll look into this problem. Please keep in mind that by doing this, your binaries will not be portable.

      Delete
    2. 1) Great, exactly what I needed! And no, personally I'm satisfied with this option working for every project.

      2) Of couse, but while working / testing something it disturbs me to copy all the binaries into my project folders. I also tried a complete new installation - without success.

      Delete
  15. Is Obvilion a typo in colors?

    ReplyDelete
    Replies
    1. Cool. I thought it was Linux's gedit color scheme "Oblivion"... :)

      Back in Ubuntu 12.04 its my favourite color scheme.

      btw when I try to cache the headers at the first startup, Dev-C++ crashes when it says saving...

      Hope it gets fixed soon. :)

      Delete
  16. Thanks you very much for updates!

    ReplyDelete
  17. error using conio.h

    ReplyDelete
  18. This comment has been removed by the author.

    ReplyDelete
  19. Dev c++ crashes win 7 32 bit
    when i was coding...
    it says not responding!
    Please help!

    ReplyDelete
  20. With some languages, like Italian, Portuguese (Brazil), and many other languages...
    in the Project Options (Alt+P)
    the dir.buttons in the "Build options", "Makefile", or "Parameters"
    can't be seen very well.

    An example:
    http://s22.postimg.org/3wwmu5b41/devcppbug.jpg

    Please check that

    ReplyDelete
  21. Congratulations for all your improvements! That's why I donated :-)...
    However, there is something I miss -and I tried hard to figure out how to sort it out!
    Configurable help, especially Win32 apis! On old Bloodshed, one could do it, somewhat.
    Now, the only available "help" is the option Show Function Hints, which simply pops-up the prototype (from the header).
    What I am doing now is having win32.hlp opened and switch between windows... :-(
    I am not suggesting to have some kinda Intellisense on DevCpp, but rather some way to get help when a Win32 function is double-clicked (highlighted) and then pressing F1 shows Win32.hlp. Better if search is automatically done, I ignore if this can be done.
    Dan U wel!

    ReplyDelete
  22. I wrote a Mycroft search plugin called "MSDN Win API Functions" to do it. I hope this helps!

    ReplyDelete
  23. Soooo... I created a custom Tool on DevCpp which was supposed to call FF (in my case) with this CL argument:
    "http://search.msdn.microsoft.com/search/Default.aspx?query=%22 function (Windows)%22&brand=msdn&refinement=117"
    The idea was using macro. But, as I have read, this macro does not get expanded, it remains as ... Too bad :(.
    As I have also seen, it would be a good idea to assing custom keys to custom tools (in this case, F1).

    ReplyDelete
    Replies
    1. The above mentioned macro is WORDXY, by the way... It has been wiped away, because of html...

      Delete
  24. [Error] argument to '-O' should be a non-negative integer -> after switching on "generate debug information" by Linker &/OR Debug(g) profile selection Compiler, this is probably bug because project is not copiling after switching off - compiles ok(newest version 5.5.3 TDM)

    ReplyDelete
  25. It's so hard to use the Replace dialog box with the keyboard now. There's no mnemonics on the options added, and there's no easy way to get from the "Text to find:" box to the "Replace with:" text box (previously just the tab key - if I wanted to search a tab character just copy and paste). Also, if I am not mistaken, previously I could just press Alt-A from the "Replace with:" text box to activate the Replace All button (mnemonic was A). It was so much quicker than now, where I have to click "Prompt on replace" (which has no mnemonic) and then click "Replace".

    ReplyDelete
    Replies
    1. Sorry, I was mistaken for the replace all thing. Maybe there was no way then or now, to be able to replace all. Perhaps you can include this very useful feature.

      Delete
    2. Some more comments:
      1. There was actually a "Replace All" in the old version. So not hard to add back? Please have the "A" mnemonic :)
      2. Can the default direction be "Forwards"? Now that F3 and Shift-F3 works (thanks for adding this back!), whenever I use the "Find box", it will be a new string.

      Delete
    3. Also, it would be very useful to keep a history of viewport line numbers, say every 5 seconds (my idea is that if a programmer stops to look at something it must be important) or every action (like Eclipse). It would be best to include actions like ctrl-clicking, clicking in the project inspector, finding text, etc., or anything else that causes you to lose your current view.

      Delete
  26. I liked the HTML help page. One correction that needs made is removing the position:absolute attribute from #footer in main.css, so that the logo and the links following it do not float over the bottom contents of the left pane. It will put them nicely at the top of the right pane, where I think you wanted them to be. Merry Christmas.

    ReplyDelete
  27. Hi,
    i'm trying to compile a 32-bit Win32 DLL under a 32-bit Windows 7 with Orwell DevC++ 5.5.1 build time 8 October 2013 11:01
    but there seems to be a bug at the very last step of the linkage, it says:

    c:\program files\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe i386:x86-64 architecture of input file `exampledll.exp' is incompatible with i386 output
    c:\program files\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe [Warning] cannot find entry symbol DllMainCRTStartup; defaulting to 0000000064b01000
    C:\Users\Admin\Desktop\exampledll-devcpp\exampledll.exp fake:(.edata+0x38): undefined reference to `Z10exportfuncPc'
    C:\Users\Admin\Desktop\exampledll-devcpp\collect2.exe [Error] ld returned 1 exit status
    C:\Users\Admin\Desktop\exampledll-devcpp\dllwrap.exe no export definition file provided. Creating one, but that may not be what you want
    C:\Users\Admin\Desktop\exampledll-devcpp\dllwrap.exe c++ exited with status 1

    The project settings under the Compiler tab are
    Compiler: TDM-GCC 4.7.1 32-BIT RELEASE
    Code generation: all empty but "Compile with the following bit width 32bit"
    Linker: all options set to No

    Under the Linker tab i have added this linker parameters:
    C:\Program Files\Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32/libws2_32.a"
    -lShlwapi
    pthreads-w32-2-9-1-release/Pre-built.2/lib/x86/pthreadVC2.lib

    The third .lib file is a library from the pthreads-Win32 open source project.


    Is this a bug?
    Why does that generated .exp file seems to be 64-bit when i have set the project to 32bit?
    If you can not fix it, can you tell me if there is some other linker i can use to link together the .o files and build the dll?

    Thank you very much and happy new year!

    ReplyDelete
  28. Hi, I was trying to change the colors and it crashes every time I try to add a new custom color to my custom pallete. The custom pallete doesn't save my custom colors, and this is a bit annoying because my objective is to put the Monokai style in this editor and i can't by this way.

    ReplyDelete
  29. there's some WinBGIm Graphics Library for this update version by ORWELLS ?

    ReplyDelete
  30. Hi everyone, first of all I wish to thank all coders who wrote and are developing the Orwell Dev-C++ for the great work they did.
    But I have to report a bug in the compiler: the fgets() function doesn't work.
    I tried to store a string into an array and write the statement correctly: fgets(array_name, sizeof(array_name), stdin);
    the compiler compiles the code without showing any errors and the program is fully executed, but the fgets() function doesn't do any action. It looks like the compiler goes through the code jumping over the fgets() function.
    Could you help me, please?

    ReplyDelete
  31. The class browser should isolate "friend" functions and show them as separate from the private, protected and public members of the class. They are not a member of the class they are declared within. They are allowing outside access to that classes private and protected members by an external function with the declared signature. Perhaps add a Friends node to the class tree and put all functions declared as friend of the class within that node, to separate them from the actual class member functions. Or label the friend function with a graphic, like is done with the private class members. Just a suggestion for a TODO. I'm using 5.5.3, disregard if this is already being worked on, and thank you all developers who are working on this C++ IDE

    ReplyDelete
  32. I was going through my laptop today deleting old programs, and ran across my installation of DevC++ 4.9.9.2, the final Bloodshed release. I googled to see if it had ever been updated and saw that no, it hadn't. However, Wikipedia pointed here, and I've been reading through the past several years worth of updates. It's amazing that you are doing all of this. I've moved away from C++ programming into web application areas, and am involved in some open source projects there (WordPress mostly), and I'm always amazed at such a large number of people coming together to make something wonderful, all without pay. But seeing you doing this all yourself .. I'm blown away. Kudos to you, sir.

    ReplyDelete
  33. How come this IDE packs all the feature under 25MB whereas code:blocks wants ~100MB just for download? Both says it uses MinGW, so I'm curious why CB seems bloated.

    ReplyDelete
    Replies
    1. That's is related to the compression method used to pack the installers.

      When unpacked, CodeBlocks measures in at about 250MiB, while Dev-C++ weighs 170MiB. That is a difference of about 30%, but when packed the difference is a factor of four.

      This means they're probably not using solid LZMA1 for packing their setup and/or their extra files are incompressible.

      Delete
  34. How do I use SFML with this new version?
    I tried integrated but without success.
    thanks

    ReplyDelete
  35. hi,

    Can you please help me to resolve the below issue,where am I going wrong??

    26 C:\Users\kaustav\Desktop\test_cpp\thread2.cpp undefined reference to `__imp_pthread_create'
    27 C:\Users\kaustav\Desktop\test_cpp\thread2.cpp undefined reference to `__imp_pthread_create'
    C:\Users\kaustav\Desktop\test_cpp\collect2.exe [Error] ld returned 1 exit status


    I am getting this error while trying out a pthread prog

    #include iostream
    #include unistd.h>
    #include pthread.h>

    using namespace std;

    void * function1(void * argument)
    {
    cout << " hello " << endl ;
    usleep(2);
    return 0;
    }

    void * function2(void * argument)
    {
    cout << " world " << endl ;
    return 0;
    }

    int main( void )
    {
    pthread_t t1, t2 ; // declare 2 threads.
    pthread_create( &t1, NULL, function1,NULL); // create a thread running function1
    pthread_create( &t2, NULL, function2,NULL); // create a thread running function2

    usleep(1);

    return 0;
    }

    Thanks in advance.

    ReplyDelete
    Replies
    1. I am using dev c++ 5.3.3 build nov 5,13

      Delete
  36. I see a comment in the troubleshooting forum re consolepauser.exe dated 2013-11-22 with no answer. His problem was on Windows 8.1. I have the same problem on Windows 7. I was running 5.5.2 so I uninstalled and downloaded 5.5.3.

    My problem is reproducible by adding the line std::cout << "Hello World"; to the default console project. My console window crashes with a message that ConsolePauser.exe has stoppped working. Adding getch or system("pause") doesn't help.

    ReplyDelete
    Replies
    1. Hmm. Started working after a system reboot. I think I've seen that before where dev c++ benefits from a reboot - particularly after a re-install.

      Sorry to have wasted the space.

      Delete
  37. Pointers to functions are not showing correctly in the class browser.
    It is showing up as a member function instead of a pointer to a function.
    For example try this:

    class Whatever {
    double (*foo)(double bar);
    }

    foo is showing up in the class browser as

    double(*foo)

    instead of

    foo : double(*)(double)

    ReplyDelete
  38. How can I use ? Is there any alternatives?

    ReplyDelete
  39. After using the latest version, I am having trouble with auto-closing brackets.

    Having never used auto-closing brackets, I've come accustom to putting in a closing bracket on functions by myself. Now I think it's great that a feature to automatically place a closing bracket (upon typing in an opening bracket) exists. But an option to disable it would greatly appreciated.

    I apologise if this has been mentioned before hand, or if the option does exist somewhere, I struggled to find any mention of it anywhere.

    ReplyDelete
    Replies
    1. Additionally, this also applies to auto-closing quotations, square brackets, etc.

      Delete
    2. Hey, you can change those options by going to the following:
      Tools > Editor Options > Completion > Symbol Completion and check/uncheck the options you want.
      Hope this helps.

      Delete
    3. It was actually in "Tools > Editor Options > Code Insertion > Symbol Completion", but thank you very much!

      It's such a silly feature. Given that a semi-colon is required on the end of each equation, in addition to pressing the enter key to drop to the next line. This means that you need to now press right to skip over the closing bracket that the software put in for you, just so you can place a semi-colon or drop to the next line. It causes more hassle than actual help.

      I'm all for features, but putting in closing brackets by hand isn't exactly trivial, and having it enabled by default, I mean... wow... =X

      Delete
  40. So I was searching alternative IDE for C++ since I dont really like Code Blocks. After a while I found Orwell Dev-C++ which looked promising so I decided to give it a try (I downloaded version with MinGW from SourceForge (Dev-Cpp 5.5.3 MinGW 4.7.2 Setup.exe). However before installing it to my computer I decided to scan it in Virustotal and it found 2 detections: TROJ_GEN.F47V1205 by TrendMicro-HouseCall and suspected of Malware-Cryptor.FSP.gen by VBA32. You can see the scan report from here ---> https://www.virustotal.com/fi/file/1f81b8288177572bd166da415df5bc8d49d78fd9ce2eb2e0098fc9f5f8114ca6/analysis/1390336018/

    Orwell Dev-C++ with TDM-GCC (Dev-Cpp 5.5.3 TDM-GCC x64 4.7.1 setup.exe) appears to be clean according to Virustotal scan (https://www.virustotal.com/fi/file/75addd4463ee367bb304c3c79bd5c5c56e82e5b6e11209c629c9a433c88e5e07/analysis/1390335912/)

    So are those 2 detections only false positives or is Orwell Dec-C++ MinGW really infected?

    ReplyDelete