page 1 of 1
Comments: 15 | Views: 1809
With most C/C++ projects on Windows® developed with Microsoft® Visual Studio®, it is essential to study the migration of these projects to Eclipse, the open source IDE. This article provides a brief step-by-step procedure for migrating Microsoft Visual Studio C/C++ (MSVC) projects to Eclipse. It compares and contrasts the benefits of MSVC and Eclipse CDT.
//

The Eclipse Platform is an open source tool to assist you with moving a project from the design to the test phase within a single development environment and without the need for separate tools for each stage. Eclipse was developed to assist the tools development community, concentrating on the core functionality of the tool instead of concentrating on the IDE itself. This is achievable because of programming model of Eclipse, which supports software building blocks called plug-ins.

Originally, Eclipse started with Java programming IDE, as it was the need of the hour. Because of its extensibility, it was embraced for developing applications for other programming languages, such as COBOL and C/C++.

The focus of this article is on C and C++ applications. Most C and C++ projects for deployment on Windows are developed using Microsoft Visual Studio. This article provides a step-by-step procedure for migrating Microsoft Visual Studio C/C++ (MSVC) projects to Eclipse. Along the way, we compare and contrast the benefits of using MSVC and Eclipse CDT.



Visual Studio and Eclipse compared

Microsoft Visual Studio has a long history with wide use among Windows application developers. It is the leader in C and C++ Microsoft Windows application development, as well. By contrast, Eclipse CDT is relatively new and quite popular these days in the developers community. Eclipse CDT is designed to satisfy the developers of many OS platforms, such as Linux®, and is dependent on the gcc compiler and other open source tools.

There are many ways of comparing Eclipse with Visual Studio. One can compare the user interface (UI), architecture, cost, manageability, and many other criteria. Since this article looks at C and C++ development, we compare and contrast the strengths of both the tools with respect to C and C++ application development for Windows.


C/C++ development compared on Windows
Microsoft Visual Studio C/C++ Eclipse CDT
Nature of license Proprietary Open source
Programming languages supported Specific to C/C++ and Microsoft-supported programming languages Parallel different programming languages (COBOL, the Java programming language, and others), along with C/C++
SDLC phases supported Only coding Designing, coding, configuration management, testing, etc.
Debugging Complete debugging support No debugging support; debugging support available only for gcc-compiled C code on platforms other than Windows. Microsoft Debugging Tools for Windows required
Resource editor Comprehensive resource editor No resource editor
Testing No testing tools as part of Visual Studio; third-party tools must be used CppUnit can be used (see Resources for more information)
MFC programming Development support for MFC application (wizard, code templates, etc.) No support
Plug-in tools development Visual Studio 6 does not support any plugable software components Based on a plug-in architecture
Tools specific to Microsoft Windows Spy++, error look-up, ActiveX Container, and others No tools specific for Windows platforms



About CDT

Eclipse C++ Development Toolkit (CDT) is an extension to the Eclipse platform in the form of a plug-in. This plug-in is available for download for all platforms. The open source nature of the plug-in with its user-friendliness makes it more popular not just among the Linux developers but also among C++ developers on other platforms. CDT and the Web Tools plug-ins are the two most popular Eclipse plug-ins. Nearly two out of three developers using CDT are Windows users.

CDT has subcomponents or plug-ins that are independent projects in the CDT community. The most important is the CDT primary plug-in, which provides the core CDT capabilities. CDT Debug UI provides the UI capabilities for the debug editors and views. CDT UI plug-in provides the UI-related features, views, editors, wizards, etc. CDT Debug provides core debugging capabilities. CDT Feature provides CDT Feature component. CDT core presents Core Model, CDOM, and other core components. CDT Launch provides launch mechanism for launching external executables and tools. CDT Debug MI is the application connector for MI-compatible debuggers.

CDT editors have several features that make them popular. For example, syntax highlighting and code assist make software development quick and easy. Syntax highlighting is configurable and can be personalized to your individual taste. Code assist is the code completion feature that is similar to the one in Visual Studio. Custom-defined code templates can be added to the plug-in, which can be used by code assist.

In the following sections, we will learn how to use CDT effectively to migrate the Visual Studio projects to the Eclipse CDT Workbench.

PaoloM
PaoloM
Hypermediocrity
No spam, please. thx.
It's hopelessly out of date spam at that. No testing facility in VS? No way to add additional languages? Plugin support not available? Clearly not using the same VS that I am.
W3bbo
W3bbo
The Master of Baiters
I think it may be refering to C++ Express.... but that doesn't have the native resource editor.
PaoloM
PaoloM
Hypermediocrity
No, the article is from 2006. Using Visual Studio 6 as a comparison, even when VS 2k5 was happily out for quite a while.

In the end, according to the list, in Eclipse I would have :
  • No debugging support
  • No resource editor
  • No native testing support (CppUnit can be used)
  • No MFC support
  • No tools specific for Windows platforms

Yay. Win!

figuerres
figuerres
???
peter; please do some checking on the facts... 
like refering to a version of a product that has been retired for like 9 YEARS!

also please note that Microsoft has free versions of the current visual studio system.
also why would i want to switch?  I amdeveloping windows apps. VS 2008 *is* the tool for that job.

if I were doing Mac or Linux or some other system then i would select the best tool for that platfrom.

http://www.microsoft.com/visualstudio/en-us/products/professional/default.mspx
http://www.microsoft.com/visualstudio/en-us/products/standard/default.mspx

http://www.microsoft.com/express/vc/
http://www.microsoft.com/express/vcsharp/Default.aspx

also free is:
http://www.microsoft.com/express/sql/Default.aspx

Enjoy.
Having used the latest versions of both, I have no idea why anyone clinically sane would move to Eclipse from VS.  Eclipse is software by committee and it shows in its inconsistent user interface and appalling performance.  If you want to develop C++, stick with VS. If you want to develop Java, then use Jetbrains IDEA.

Personally, I'd rather pay for good software than use free mediocre software.

CannotResolveSymbol
CannotResolveSymbol
{insert caption here}
Spoken like someone who hasn't actually used Eclipse for C++ development.

I've used Eclipse a fair amount in my own projects; it's definitely the best IDE out there if you're developing in C/C++ for for cross-platform use or for *nix, and is also the best choice I've found if you're doing anything non-Win32 on Windows (e.g. cross-compiling code for a mobile device with its own SDK).  Pure Win32 or Windows-only console apps are about the only situations where I'd use VS at this point (Visual Studio does have advantages there)...  and at this point, there are better choices than Win32 for GUI development on Windows.

Performance in my experience is comparable to Visual Studio (maybe one wins out over the other once you've got a lot of memory or something...  I don't know).  I don't see what you mean by an inconsistent user interface...  different from VS != inconsistent (and the perspective-based UI != inconsistent, either:  that's one of the metaphors they've chosen to follow).
>there are better choices than Win32 for GUI development on Windows.

yes, WPF! Tongue Out
Eclipse has worse start up times than Visual Studio for me, but apart from this there is no discernable performance difference. This is based on miniscule projects though. Perhaps the performance problems Ray7 found were under the load of big commercial projects.
CannotResolveSymbol
CannotResolveSymbol
{insert caption here}
It and Windows Forms actually were what I was referring to.  (Please don't go around writing Windows-only apps in GTK+ or QT...  that's just silly Wink )
Bass
Bass
www.s​preadfirefox.c​om/5years/
Why not? Even if I wrote an C++ app with the intention of it running only on Windows (highly unlikely), I'd still write in Qt because I am more familiar with it, and I like it MUCH better then MFC or Win32.
CannotResolveSymbol said:
Spoken like someone who hasn't actually used Eclipse for C++ development.

Actually, I have ... Smiley 
And also for Ruby, C and PHP

And what I learned in pretty short order was that a slow, buggy, inconsistent IDE for Java is a slow, buggy, inconsistent IDE for any language.

Are folk still writing MFC applications?

It seems to me that folk are trying to win this argument by comparing it to MS tech that is out of date.

page 1 of 1
Comments: 15 | Views: 1809
Microsoft Communities