How difficult is to use codelite on top of a scons project?
what features i should expect to lose? is there a way to configure codelite to use the scons configuration files to keep track of the project files.
At the moment i'm using Netbeans 7.1, but the tool doesn't scale well with complex projects like LLVM. I'm curious with codelite as it seems to have a very good code completion architecture (relying on the llvm clang plugin) but i'm not sure how hard will it be to migrate my project (based on scons) to it
I dont know anything about codelite, but eclipse is an excellent IDE with code completion like you mention. There is an SCons plugin available for eclipse called SConsolidator.
I have found that eclipse has excellent support for C++ and Python.
Why not?
But codelite is old-school IDE with very poor functional, like Visual Studio 6. I recommend use Eclipse CDT.
Related
I would like to compile with MinGW on Windows. I am seeking for IDE (Visual Studio 2010 is out, because as far as I know it cannot use MinGW) with integrated SVN support like AnkhSVN plugin for Visual Studio 2010. One candidate is CodeBlocks. Does it have some SVN plugin? Or would you recommend another IDE? Thank you.
You can use Eclipse IDE for C/C++ Developers.
With the subclipse plugin you have accesses to svn as well
Link: http://eclipse.org/downloads/moreinfo/c.php
I use Eclipse with CDT, and SVN integration is very good.
I'm all for Eclipse CDT, it rocks.
However, you did mention you wanted something more lightweight.
A popular Windows and Linux alternative is Code::Blocks (http://www.codeblocks.org/).
Its a great open source C/C++ IDE and even comes bundled with MinGW.
EDIT: Also has SVN support, according to http://www.codeblocks.org/downloads/7
You can also try netbeans, most people in my company use it now and they say it's faster than eclipse.
I still use eclipse, but since you don't want it you may want to try netbeans with svn plugin.
try http://qt.nokia.com/products/developer-tools
It was written for Qt but it can also be used for plain C++. Furthermore it has great support for CMake (if you are like me and do not like qmake).
I use Eclipse CDT at our school, the University of Advancing Technology in Tempe AZ. One of our students put together a package that's an all-in-one version of Eclipse CDT (Helios at the moment. Indigo real soon now.) + Subclipse + Boost + cppunit. It is targeted at Windows 7 only. If you wish, you can download this self extracting executable at http://dl.dropbox.com/u/341940/cdt.exe
I'm very partial to CodeLite. You can use it on Windows and Linux. It has support for Subversion, Qt, and wxWidgets.
http://www.codelite.org/Main/ReadMore
While the Microsoft compiler typically builds faster code, I'm in an environment where building Linux applications with gcc is required. I prefer MSVS and the Express versions as my IDE and have been able to configure it such that Intellisense and all the other nice features are working. However, I have been unable to find an easy way to get VC++ Express 2010 to build using gcc. I'm not sure if I remember correctly, but I thought about half a decade ago there was support to switch compilers when using MSVS.
I have found an extension to download claiming to do this, but it costs about $50. Does anybody know of any free or open source tools that can accomplish the above?
Try CMake: http://www.cmake.org/. It is a cross-platform, cross-ide build system. It will generate
VS project for you, and ordinary makefiles (or eclipse, or what you need).
Then, use VS to edit the code, and "make" to build it. I did it myself to develop windows + linux on virtual machine. And it worked fine.
As I realize there are no plugins, but you could simply setup some custom build rules and make gcc compile your project instead of the cl.
Google for the Custom build rules in Visual Studio / provide your own makefile. Also note that if you wish to still have the ability to debug your applications, you should probably look for something like WinGDB.
The good thing in this approach is that you can switch your configurations from cl to gcc, for example and easily test if your application remains compilable in both of them.
Still, the best way would probably be to use some automatic building tools like cmake or scons, which simplify the process greatly and can help you to switch to any other IDE in a matter of minutes.
Personally I like scons, because it's python-driven, but cmake is very nice to start from.
I need to convert several large Visual Studio projects to use GNU build tools. GUI IDE is no option. Right now I am trying to learn make & autotools. There are some good tutorials online, including the official documentation. But the amount of material is quite overwhelming. I would really appropriate any newbie advice.
Where to start?
What are the typical steps?
How make make the project ready for source code distribution?
What can be skipped if source code distribution isn't needed (in house use only)?
Thanks.
I suggest you to use CMake. You could start here.
Like both Naszta and Fabio recommended: Try out CMake, because it can generate visual studio projects on windows and unix-makefiles.
In addition, I would suggest you look at MinGW: MinGW provides a GCC toolchain on Windows. You can start by porting your code to MinGW, while keeping all the windows-specific stuff. In a later phase you can try getting rid of all the windows-specific stuff.
Are you set on Autotools? Because most projects migrate away from them because autotools are so complicated.
Id also suggest CMake which is a Meta build system, and can create unix makefiles, Visual Studio Projects (and all kinds of project files for IDEs) in a platform neutral way.
It also has some goodies like CPack (which creates Installer packages for all platforms) and CTest.
I am starting to write a moderately sized project in C++ requiring a fairly large amount of files and dependencies on other projects.
Do you think manually maintaining a Makefile for this project is the best approach?
Are there other better alternatives for C++ that make build management and dependency management of files really easy to handle?
Also, what IDE is good for C++ development on Linux? I am comfortable with Vim, but do you think there are good IDEs for C++ (like Eclipse for Java) that provide code-completion etc?
Thanks!
Ajay
Others have already recommended using CMake. To my mind you should manage your project with CMake then decide on your favourite IDE.
CMake allows you to describe the project to be built, instead of how to build it. For example: I want to create a shared library called foo with source files a.cpp, b.cpp and c.h and it requires these link dependencies. Then on unix you get libfoo.so and on windows you get foo.dll and foo.lib. All common project settings can be abstracted up to higher levels in the build tree, this keeps most files very simple. More complicated requirments can be refactored into macros.
Once your project is described like this CMake will generate makefiles and/or IDE projects. This means each developer can choose their own IDE, as well as allowing you to mandate an IDE if appropriate.
My company use CMake to build the c++ in our product on windows and solaris. It contains 600 projects and 1.5 million lines of source code. We originally chose it as a cross platform build utility when porting to solaris, however for a large project like ours it is much easier to manage the build with CMake than with Visual Studio project files. I would recommend it as a build utility for any c++ project of any size
We use the eclipse cdt on solaris and are very happy with it. Most of our development is with visual studio on windows. cmake also works well with other ides I use it with KDeveloper4 on linux at home without a hitch.
KDevelop4 (from subversion or rc1 from their site) + CMake makes life so much easier, automake should just die.
If you want a cross-platform solution, netbeans + the c++ plugin are pretty decent, not as good as kdevelop4 though.
I like CMake a lot for the whole building process (but I have almost no experience with scons or Jam).
I use vim or qtcreator. Qtcreator is still in developpment, but very promising I think.
I suggest you Code::Blocks. I use it on Debian and works gracefully.
http://www.codeblocks.org/
Edit: Added another link
http://wiki.codeblocks.org/index.php?title=The_build_process_of_Code::Blocks
Eclipse does C++ as well - through eclipse CDT - not as comprehensive as Java but pretty good.
Manually maintaining Makefiles in larger Projects becomes quite painful. If you start using automake/autoconf, you will - after a while of learning all the facets - appreciate the powerful possibilities these tools can offer.
And as IDE simply use Emacs. It's quick, powerful and supports Code completion etc.
There's also Code::Blocks as an IDE with its own building system. But I would encourage you to try out other build tools (CMake, Boost.Build, SCons) if you want to be able to build your software "anywhere" without having a fancy schmancy IDE installed. ;-)
I found Emacs + Scons works pretty well for me.
I want to use Eclipse to develop C++ projects on Linux. Particularly I want to modify stable and widely used open source projects using the Eclipse CDT. One of them is Intel Opencv. There are tutorials to create simple c++ projects like here:
http://www.ibm.com/developerworks/opensource/library/os-eclipse-stlcdt/ .
I have seen plenty of tutorials for using Eclipse CDT to write programs in
OpenCv like here:
http://opencv.willowgarage.com/wiki/Eclipse
http://tommy.chheng.com/development/windows_development_setup.html
http://tommy.chheng.com/index.php/2009/05/opencv-with-eclipse-on-windows/
However I
want to use Eclipse to make changes to the OpenCv platform itself and compile it
from there. I really like many of Eclipse's features like:
Syntax highlighting
Outline
Code assist
Code templates
Code history
etc.
Would someone write a
small tutorial on how one can make a project in Eclipse from the OpenCv tarball? I would use Eclipse CDT on Linux.
Can Eclipse CDT recognize Makefile as it can do for Ant scripts?
I made the experience that for OpenCV using cmake is the way to go. You can unzip the cmake source code and use cmake to compile it. Even after your changes. There are some tools to integrate cmake into eclipse but I found them unstable or not very mature so I use cmake from a terminal to compile and eclipse for editing the source files.
If you follow Janusz's advice about using cmake you can find here a good tutorial about using cmake and its eclipse projects generator (I actually followed it no long time ago :-) ). In this link you will find more information about that generator (Eclipse CDT4 Generator)
Simplest way to deal with existing C sources with their own build setup is generally to use a 'Makefile Project' rather the 'managed Project'. For cmake, go to the 'Make Targets' view and enter cmake as the executable.
http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.cdt.doc.user/getting_started/cdt_w_newproj.htm
How to import C makefile project into eclipse or put in under eclipse
http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.cdt.doc.user/getting_started/cdt_w_existing_code.htm