Hot answers tagged

18

Code::Blocks I would recommend this one for Windows if you will be working on a team which uses multiple platforms. It can handle the configuration changes, so you never notice that your teammates aren't using the same OSes. It is a very powerful modern IDE, but may be too much for some projects. It can use many compiler toolchains out of the box, and can ...


14

There is a C/C++ bundle for Netbeans. I can verify that it has syntax highlighting, code completion, and code formatting/indentation assist. While I haven't used the C++ bundle personally, I use the Java and PHP flavours on a daily basis, and I assume based on the existence of cntrl+click navigation and refactoring in both that they should also be present ...


12

The CDT Project provides a fully functional C and C++ IDE based on the Eclipse platform. Features include: support for project creation and managed build for various toolchains, standard make build, source navigation, various source knowledge tools, such as type hierarchy, call graph, include browser, macro definition browser, code editor with syntax ...


12

Nobody's answered so far... it looks like not many people frequent the C++-library-request pages on this site. Anyway, I'll add some potential candidates, or close-to-being-candidates, in this answer for now: Might be relevant: LEMON , or Library for Efficient Modeling and Optimization in Networks - A "C++ template library providing efficient ...


9

I would suggest QT Creator. Don't be fooled by the name, you can use it for any C++ project, even without QT. It has all he features you're asking (autocomplete, compilation and so...). On top of that, it's multi-platform.


9

Unit testing framework comparison criteria You should consider the following important criteria for comparing C++ unit testing frameworks: Compatibility: whether the framework compiles with your project. You may be using options like -fno-rtti and some frameworks then fail to compile. User friendliness: how much work is it to write a test. C++ does not ...


8

It seems like include-what-you-use (IWYU) actually does what I want. Though it is a bit difficult to use it in Windows. But there are even pre-built windows binaries available, and maintainers promise to update them with each new version of clang. The important concept behind IWYU and its suggestions about how to change your includes is "re-exporting", as ...


8

New SVG++ library is a good choice for SVG reading in C++, except that it is not lightweight and requires Boost library. But as it is header-only library and uses only header-only libraries from Boost, you only need to fetch both SVG++ and Boost and add them to include paths, no building required.


7

Personally I would strongly recommend taking a look at Sphinx-Doc which was written for the Python documentation but is applicable to other systems as well. Produces great looking documents with multiple themes in multiple formats Can generate from multiple programming language, e.g. C++ with the C++ domain Can be integrated with build systems including ...


6

CLion It's a cross-platform IDE with advanced C++ support known from ReSharper C++. The IDE is by JetBrains, the company behind IntelliJ Idea and Android Studio. Works on Windows, Linux and MacOS. Regarding features: Code completion - It completes variable names, class members, header file names and everything you'd expect from a C++ IDE. Indentation - ...


6

Code::Blocks is a very good light weight IDE for various compilers but for an actual tool chain I would look at the Gnu Compiler Collection, (gcc). Note that Code::Blocks supports some versions of VC compilers, as well as gcc and others, plus you can add new ones. Rather than C++ AMP, which is currently MS specific, I would suggest using OpenMP as it is ...


6

The QT Framework includes QT SVG, a module able to generate and render SVG files.


6

Given your requirements I would say that the best choice would be wxWidgets From your feature list: Cross Platform Compatibility Yes Open Source Yes with a permissive licence Active with Documentation Very active and comprehensive documentation Clean & Easy to Learn the one thing that just about everybody seems to have problems getting their heads ...


5

Orwell Dev-C++ Long ago, Dev-C++ was perhaps the go-to free C/C++ IDE on Windows, but it was buggy, and the original version was unmaintained for a rather long time. The Orwell version fixes many known issues. It is worth checking out at least. Also worth mentioning is another fork called WX-Dev-C++, which might be useful for RAD GUI development, however ...


5

The Eclipse CDT tool (http://www.eclipse.org/cdt/) would seem to match your requirements. It has rename facilities, and a number of other refactoring operations. It is open source itself, so you can use it as you like on open (or closed source). I doubt its refactoring is semantically correct in a narrow sense. C++ is an extremely complex language and ...


5

You can use Open BEAGLE, it's one of the most widely used Evolutionary Computation (EC) framework, and does provide a master-slave model for parallel fitness evaluation. Gagné, Christian, and Marc Parizeau. "Open BEAGLE: A New Versatile C++ Framework for Evolutionary Computation." GECCO Late Breaking Papers. 2002. Genericity: With Open BEAGLE, the user ...


5

You have a few options: librsvg from the Cairo Graphics project extend libsvgtiny to meet your needs extract the SVG layer from Amaya use an xml parser and then parse properties as needed for C++ and significant dependencies: QT, webkit or chromium Note on libsvgtiny: It is developed by the Netsurf Browser project and has very minimal dependencies that ...


5

Crypto++® Library 5.6.2 Crypto++ Library is a free C++ class library of cryptographic schemes. Other features include: pseudo random number generators (PRNG): ANSI X9.17 appendix C, RandomPool password based key derivation functions: PBKDF1 and PBKDF2 from PKCS #5, PBKDF from PKCS #12 appendix B Shamir's secret sharing scheme and Rabin'...


5

Doxygen, when used with Graphviz, can generate both call graphs and called by graphs as well as include/included by and collaboration graphs - just be sure to tick the option to include undocumented entries. Features: Free Cross Platform including Windows Can document C++, C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice ...


5

Take a look at SFML. It offers window creation, event handling, sprite drawing and is all pretty simple to use.


5

CodeLite is a powerful and lightweight IDE specializing in C, C++, PHP and JavaScript. Its features include: Generic support for compilers (for example Clang) Built-in GDB support Database-based code completion mechanism Syntax highlighting for C/C++, Java, Perl, XML, Makefile, Lua, Diff files, PHP, JavaScript, Python, HTML, and ASP Text folding ...


4

I profile my programs with the valgrind plugin/tool callgrind. For me, this works under x86_64 with optimizations as -O3 when adding debugging symbols with -g. Valgrind is licensed under the GPL. The output can be visualized with kcachegrind or the Eclipse Linux Tools The callgrind manual states, that it can do assembly analysis and deal with forks if ...


4

Without knowing exactly what features you'd need to consider something "similar" to VC++, I'd suggest giving Eclipse a try: http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr2 It's been popular among Java developers for many years and also has a C/C++ flavour. It's certainly more light-weight than Visual Studio so I hope it might ...


4

There seems to be a GitHub of someone who developed a small library for C++ 11. It also is just a central header file (no cpp files to add), and fits into your License requirements (it actually uses a permissive free software license).


4

I regularly do c++ Development work on Windows and my choice over the years has been Eclipse CDT ( C++ Development Tools ). Key Highlights of Eclipse CDT are: Free Very Stable Supports Cross Compilation Integrates well with MinGW and Cygwin Powerful Editor with rich features Vibrant Online Community Support Eclipse CDT would meet all the 3 objectives ...


4

The easiest free GCC based IDE for Windows is Code::Blocks, which can be portable. But, alas, it doesn't currently have 4.9 - perhaps you could ask on the forums? Or, would you consider using 4.7 or 4.8 to build 4.9 from source & adding that in to whatever solution you choose? Since you like NetBeans, you can use a portable version, but that leaves you ...


4

Reference: What good libraries are there for solving a system of non-linear equations in C++? I'm assuming you mean free software. Referencing the above stackoverflow question, you could use: Sundials: https://computation.llnl.gov/casc/sundials/main.html GNU: http://www.gnu.org/software/gsl/manual/html_node/Multidimensional-Root_002dFinding.html#index-...


4

The only project I found still working in that direction is JXcore. Initially(not valid link), they planned to switch from V8 to a LLVM based JS engine in version 2. That goal seems to have moved to "Down the Road" currently(web down) and isn't even in the roadmap anymore. Mozilla was looking into using LLVM in 2009 and stopped that efforts too. It seems ...


4

I would like to supplement the community wiki answer with a couple of other points to consider when selecting your testing framework, this is addressing your picking a test tool: Price - Free or reasonably priced testing frameworks such as Google Test and CppUnit will almost always be ahead on popularity but may not meet your other requirements. Level of ...


4

I would suggest taking a look at Code::Blocks as a possible alternative that is Free, Open Source & Cross Platform. Your feature requests Find and replace works like Visual Studio on Windows - Find and replace works really well and includes: Find in Current File, Open Files, Project Files, Workspace Files or any path with recursive and filename ...


Only top voted, non community-wiki answers of a minimum length are eligible