C++ Programming and Development under Eclipse?

R

Ramon F Herrera

I have been using Eclipse for a few weeks, and IMO there is no better
IDE.

Since my experience has been so productive -and hence satisfactory- in
Java, I would like to use the same IDE environment for C++
programming, the targets would be both Unix and Windows.

If there is any Eclipse/C++ developer out there, could you share your
recommendations, tips, opinions, etc.

I suppose I would have to attach somehow the appropriate compiler (gcc
or MS VC++) to the IDE. Will I then be able to use things like code
completion (press a dot and menu appears)?

The next question would be nirvana for me: Since I never use Unix/
Linux GUIs (just terminal/CLI remote access) but I develop under *ix,
I have been stuck to 'vi' forever. Remote XWindows is not feasible
because I may be in a country with no so great Internet bandwidth. So:
is it possible to run Eclipse on my local WinXP box, while driving the
gcc/gdb in a remote (across the Atlantic) server?

TIA,

-Ramon
 
R

Ramon F Herrera

I have been using Eclipse for a few weeks, and IMO there is no better
IDE.

Since my experience has been so productive -and hence satisfactory- in
Java, I would like to use the same IDE environment for C++
programming, the targets would be both Unix and Windows.

If there is any Eclipse/C++ developer out there, could you share your
recommendations, tips, opinions, etc.

I suppose I would have to attach somehow the appropriate compiler (gcc
or MS VC++) to the IDE. Will I then be able to use things like code
completion (press a dot and menu appears)?

The next question would be nirvana for me: Since I never use Unix/
Linux GUIs (just terminal/CLI remote access) but I develop under *ix,
I have been stuck to 'vi' forever. Remote XWindows is not feasible
because I may be in a country with no so great Internet bandwidth. So:
is it possible to run Eclipse on my local WinXP box, while driving the
gcc/gdb in a remote (across the Atlantic) server?

TIA,

-Ramon


The Eclipse CDT (C/C++ Development Toolkit)

"The Eclipse CDT is an Eclipse plug-in that transforms Eclipse into a
powerful C/C++ IDE. It was designed to bring many of the great
features Eclipse enjoyed by Java developers to C/C++ developers, such
as project management, integrated debugging, class wizards, automated
builds, syntax coloring, and code completion. When Eclipse is used as
a Java IDE, it leverages and integrates with the JDK. Similarly, the
CDT leverages and integrates with standard C/C++ tools, such as g++,
make, and GDB. This has lead to it becoming very popular on Linux,
where those tools are readily available and used for most C++
development. The CDT can be set up on Windows to use the same tools.
There is also an ongoing effort to get the CDT to work with
Microsoft's C++ tools to make it even more attractive to Windows C++
developers."

[...]

http://www.ibm.com/developerworks/opensource/library/os-eclipse-stlcdt/index.html

-RFH
 
R

Ravi

http://www.eclipse.org/downloads/
http://www.eclipse.org/downloads/do...e/20071103/eclipse-cpp-europa-fall2-win32.zip
Search for eclipse europa.

Regards,
Ravi.

I have been using Eclipse for a few weeks, and IMO there is no better
IDE.
Since my experience has been so productive -and hence satisfactory- in
Java, I would like to use the same IDE environment for C++
programming, the targets would be both Unix and Windows.
If there is any Eclipse/C++ developer out there, could you share your
recommendations, tips, opinions, etc.
I suppose I would have to attach somehow the appropriate compiler (gcc
or MS VC++) to the IDE. Will I then be able to use things like code
completion (press a dot and menu appears)?
The next question would be nirvana for me: Since I never use Unix/
Linux GUIs (just terminal/CLI remote access) but I develop under *ix,
I have been stuck to 'vi' forever. Remote XWindows is not feasible
because I may be in a country with no so great Internet bandwidth. So:
is it possible to run Eclipse on my local WinXP box, while driving the
gcc/gdb in a remote (across the Atlantic) server?

-Ramon

The Eclipse CDT (C/C++ Development Toolkit)

"The Eclipse CDT is an Eclipse plug-in that transforms Eclipse into a
powerful C/C++ IDE. It was designed to bring many of the great
features Eclipse enjoyed by Java developers to C/C++ developers, such
as project management, integrated debugging, class wizards, automated
builds, syntax coloring, and code completion. When Eclipse is used as
a Java IDE, it leverages and integrates with the JDK. Similarly, the
CDT leverages and integrates with standard C/C++ tools, such as g++,
make, and GDB. This has lead to it becoming very popular on Linux,
where those tools are readily available and used for most C++
development. The CDT can be set up on Windows to use the same tools.
There is also an ongoing effort to get the CDT to work with
Microsoft's C++ tools to make it even more attractive to Windows C++
developers."

[...]

http://www.ibm.com/developerworks/opensource/library/os-eclipse-stlcd...

-RFH
 
A

Arne Vajhøj

Ramon said:
I have been using Eclipse for a few weeks, and IMO there is no better
IDE.

Since my experience has been so productive -and hence satisfactory- in
Java, I would like to use the same IDE environment for C++
programming, the targets would be both Unix and Windows.

If there is any Eclipse/C++ developer out there, could you share your
recommendations, tips, opinions, etc.

I suppose I would have to attach somehow the appropriate compiler (gcc
or MS VC++) to the IDE. Will I then be able to use things like code
completion (press a dot and menu appears)?

The next question would be nirvana for me: Since I never use Unix/
Linux GUIs (just terminal/CLI remote access) but I develop under *ix,
I have been stuck to 'vi' forever. Remote XWindows is not feasible
because I may be in a country with no so great Internet bandwidth. So:
is it possible to run Eclipse on my local WinXP box, while driving the
gcc/gdb in a remote (across the Atlantic) server?

I my opinion Eclipse is not nearly as good for C++ as for Java, but ...

Eclipse C++ uses makefile's, so it is relative easy to support
any compiler. There are a couple of different ways to set that up.

Starting point:

http://dingfelder.wordpress.com/2007/07/24/cross-platform-development-with-the-eclipse-cdt/

Regarding the remote build solution, then I think I would edit and make
a Win32 build in the local Eclipse, commit changes to a CVS server and
in a terminal windows to the remote Unix box update from CVS and build.
A low tech solution, but it will work.

Arne
 
L

Lew

I my opinion Eclipse is not nearly as good for C++ as for Java, but ...

Actually, emacs makes a really good environment for Gnu C++ programming. It
integrates with the Gnu debugger, gdb, understands makefiles, has syntax
coloring, and synchronizes the source display with the debugger display.

I wouldn't say "there is no better IDE" than emacs for g++ and co., but it's
awfully darn good.
 
R

Ramon F Herrera

I my opinion Eclipse is not nearly as good for C++ as for Java, but ...

Could you elaborate, Arne (or anyone familiar with the environment)?

Are those C++ shortcomings (compared with Java on Eclipse) intrinsic,
i.e., something that cannot be fixed (based on the fact that Eclipse
is written in Java, for instance), or are they a reflection of the
support for Java being much more mature? Should we expect the CDT to
reach some day the same level as the JDT?

-Ramon
 
O

Owen Jacobson

Could you elaborate, Arne (or anyone familiar with the environment)?

Are those C++ shortcomings (compared with Java on Eclipse) intrinsic,
i.e., something that cannot be fixed (based on the fact that Eclipse
is written in Java, for instance), or are they a reflection of the
support for Java being much more mature? Should we expect the CDT to
reach some day the same level as the JDT?

It's both.

Part of the problem, as I understand it, is that C and C++ are hard
languages to parse and manipulate. Macros, constructed types (int,
const int, int *, const int *, int *const, const int *const, ...),
typedefs, the exact rules about implicit conversions, templates, and a
few syntactic holdovers from the 70s make it almost impossible to
implement the refactoring and code browsing tools as completely as they
exist for Java. Compiled C is also much harder to work with than Java
..class files, primarily because every platform has a slightly (or not
so slightly) different set of calling conventions, symbol naming
conventions, and binary file formats.

That's not to say it's impossible to write a good IDE for C or C++.
Apple[0], Microsoft[1], and various others have been doing it for ages,
and as Lew noted GNU Emacs makes a very good C "IDE" in combination
with various other GNU utilities. However, each of these tools was
designed for a single environment. A "cross-platform" C IDE is a much,
much harder problem.

-Owen

[0] Who have finally added refactoring tools for Objective-C to XCode:
<http://bast.lionsanctuary.net/~owen/images/refactoring>
[1] Who, for all their faults, have some pretty good code comprehension
and manipulation tools in Visual C++ now, too.
 
A

Arne Vajhøj

Ramon said:
Could you elaborate, Arne (or anyone familiar with the environment)?

No refactoring (except rename).

No incremental compile.

Is the two most obvious things I have noticed.
Are those C++ shortcomings (compared with Java on Eclipse) intrinsic,
i.e., something that cannot be fixed (based on the fact that Eclipse
is written in Java, for instance), or are they a reflection of the
support for Java being much more mature? Should we expect the CDT to
reach some day the same level as the JDT?

The refactoring can obviously be done. And if enough people are willing
to spend time improving, then it will improve over time. CDT is much
better now than it was let us say 2 years ago.

To get incremental compile, then I think they will need their own
compiler or integrate deeply with an existing one. I don't think
that will happen.

Arne
 
J

Jun

I have been using Eclipse for a few weeks, and IMO there is no better
IDE.

Since my experience has been so productive -and hence satisfactory- in
Java, I would like to use the same IDE environment for C++
programming, the targets would be both Unix and Windows.

If there is any Eclipse/C++ developer out there, could you share your
recommendations, tips, opinions, etc.

I suppose I would have to attach somehow the appropriate compiler (gcc
or MS VC++) to the IDE. Will I then be able to use things like code
completion (press a dot and menu appears)?

The next question would be nirvana for me: Since I never use Unix/
Linux GUIs (just terminal/CLI remote access) but I develop under *ix,
I have been stuck to 'vi' forever. Remote XWindows is not feasible
because I may be in a country with no so great Internet bandwidth. So:
is it possible to run Eclipse on my local WinXP box, while driving the
gcc/gdb in a remote (across the Atlantic) server?

TIA,

-Ramon

One very important thing :
disable the "Auto activation" in preferences, when u're working on
Linux.
 
A

Andrey Ryabov

Does anyone experience trubles with MinGW/GDB under Windows? I can't
used it with Eclipse it just dies encountering a bug in program
being debugged?
Another problem is inability to create runtime profile.

I wonder where those problems only in my installation or in general?

Elipse Version: 3.2.2 Build id: M20070212-1330
Version: 3.2.2
Build id: M20070212-1330

CDT 3.1.2.2007.02.150621
 
R

Ramon F Herrera

Does anyone experience trubles with MinGW/GDB under Windows? I can't
used it with Eclipse it just dies encountering a bug in program
being debugged?
Another problem is inability to create runtime profile.

I wonder where those problems only in my installation or in general?

Elipse Version: 3.2.2 Build id: M20070212-1330
Version: 3.2.2
Build id: M20070212-1330

CDT 3.1.2.2007.02.150621

Andrey:

There is one (and only one) area in which I decided not to fight
Microsoft: compilers. Their VC++ product is very good and reasonably
priced (including a freebie version). I tried to stick to standards-
based, non-M$ compilers such as Borland's but I gave up. I use a
couple of SDKs when I develop for Windows native, one of them being
the Acrobat SDK. Adobe tells you in unequivocal terms: "The only
programming environment supported is Visual Studio 2005". Talk about
the meaning of the "P" initial in PDF!

-Ramon
 
A

Andrey Ryabov

Andrey:

There is one (and only one) area in which I decided not to fight
Microsoft: compilers. Their VC++ product is very good and reasonably
priced (including a freebie version). I tried to stick to standards-
based, non-M$ compilers such as Borland's but I gave up. I use a
couple of SDKs when I develop for Windows native, one of them being
the Acrobat SDK. Adobe tells you in unequivocal terms: "The only
programming environment supported is Visual Studio 2005". Talk about
the meaning of the "P" initial in PDF!

-Ramon

Yes, and that I was always afraid of...
Microsoft definitely has faster compiler, safer stl implementation and
better debuger.
But I'm too fascinated by idea of having one IDE for Java, C++, Python
and etc.
 
A

Andrey Ryabov

Yes, and that I was always afraid of...
Microsoft definitely has faster compiler, safer stl implementation and
better debuger.
But I'm too fascinated by idea of having one IDE for Java, C++, Python
and etc.

I've decided to update CDT to v4 and give my feed back here.
 
A

Andrey Ryabov

There is one (and only one) area in which I decided not to fight
Microsoft: compilers. Their VC++ product is very good and reasonably
priced (including a freebie version). I tried to stick to standards-
based, non-M$ compilers such as Borland's but I gave up. I use a
couple of SDKs when I develop for Windows native, one of them being
the Acrobat SDK. Adobe tells you in unequivocal terms: "The only
programming environment supported is Visual Studio 2005". Talk about
the meaning of the "P" initial in PDF!

-Ramon

I've just tried eclipse distribution for C++ with CDT 4.
It seems to work mutch better then the one with CDT 3.3, and looks by
far more attractive than MVS 2005.

http://www.eclipse.org/downloads/do...e/20071103/eclipse-cpp-europa-fall2-win32.zip

It would be realy good if eclipse cdt supported microsoft compiller as
tool-chain.



By the way, As far as I knew Acrobat SDK is not about PDF but about
Acrobat Reader. That's why it supports only Visual Studio.
 
R

Ramon F Herrera

I've just tried eclipse distribution for C++ with CDT 4.
It seems to work mutch better then the one with CDT 3.3, and looks by
far more attractive than MVS 2005.

http://www.eclipse.org/downloads/download.php?file=/technology/epp/do...

It would be really good if eclipse cdt supported microsoft compiller as
tool-chain.

Of course it would be great. If they don't do that, it would be for
Microsoft's lack of cooperation. To accomplish this kind of tight
integration (specially the debugging part) the developers most likely
will need access to the source code.
By the way, As far as I knew Acrobat SDK is not about PDF but about
Acrobat Reader. That's why it supports only Visual Studio.

I disagree. I have 2 of those SDKs (v7 and v8, I recently built all
the examples side by side to see the differences between the 2
versions). The SDK is used mainly for two things:

- To develop plugins for Acrobat (all versions)
- To develop IAC apps for Acrobat (all versions)

There are some sections of the manual where they tell you: "this
doesn't work with the free Reader" (see below). The good news is that
the SDK used to cost money: I paid something like $200 for the least
expensive -no support included- version 7. Version 8 is free. Good
move by Adobe.

One obvious rule of thumb is to always developed in the "preferred"
language (and even IDE): if you are programming for OpenOffice, use
Java. For the Adobe SDK, use C++.

-Ramon


-------------

What are the API differences between Acrobat and Adobe Reader?

Acrobat provides a "full-featured" development environment that
includes the entire Acrobat core API. There are some small differences
between the public APIs available in Acrobat Professional and Acrobat
Standard. These are documented in Developing Plug-ins and Applications
and the Acrobat and PDF Library API Reference.

The APIs that may be used for Adobe Reader are limited technically and
legally. Technical limitations are documented in Developing Plug-ins
and Applications and Developing Applications Using Interapplication
Communication.

Both Acrobat and Adobe Reader accept plug-ins. The primary difference
between the two is that, in general, Adobe Reader can neither make
changes to a file nor save a file. API methods that change a file in
such a way that a save would be required are not available in Adobe
Reader.

Developing for Adobe Reader

Adobe Reader only accepts "Reader-enabled" plug-ins, which can only
access a limited set of APIs. For information on enabling plug-ins for
Adobe Reader, see Developing Plug-ins and Applications and Developing
for Adobe Reader. Certain APIs are available to a Reader-enabled plug-
in if the PDF document has been assigned additional usage rights,
which is possible using LiveCycle Reader Extensions. For more
information on this, see the Overview.
For additional legal restrictions, see the Adobe Reader Integration
Key License Agreement.
 
G

guigouz

I used to be a CDT user, but Netbeans C/C++ support (on the Netbeans 6
release candidate) is really outperforming eclipse in stability and
productivity... I think it's worth giving it a try.
 
R

Ramon F Herrera

I used to be a CDT user, but Netbeans C/C++ support (on the Netbeans 6
release candidate) is really outperforming eclipse in stability and
productivity... I think it's worth giving it a try.

That is exactly the same case as the OpenOffice plugin, which works
quite well on NetBeans. Let's not forget that both OpenOffice and
NetBeans have Sun DNA. The Eclipse plugin for OpenOffice, OTOH leaves
much to be desired.

What platform are you running NB/C++ on? Windows or U*ix? I tend to
chicken away from "release candidates" but am planning to take NB6 for
a spin.

-Ramon
 
A

Andrey Ryabov

Of course it would be great. If they don't do that, it would be for
Microsoft's lack of cooperation. To accomplish this kind of tight
integration (specially the debugging part) the developers most likely
will need access to the source code.


I disagree. I have 2 of those SDKs (v7 and v8, I recently built all
the examples side by side to see the differences between the 2
versions). The SDK is used mainly for two things:

- To develop plugins for Acrobat (all versions)
- To develop IAC apps for Acrobat (all versions)

There are some sections of the manual where they tell you: "this
doesn't work with the free Reader" (see below). The good news is that
the SDK used to cost money: I paid something like $200 for the least
expensive -no support included- version 7. Version 8 is free. Good
move by Adobe.

One obvious rule of thumb is to always developed in the "preferred"
language (and even IDE): if you are programming for OpenOffice, use
Java. For the Adobe SDK, use C++.

-Ramon

-------------

What are the API differences between Acrobat and Adobe Reader?

Acrobat provides a "full-featured" development environment that
includes the entire Acrobat core API. There are some small differences
between the public APIs available in Acrobat Professional and Acrobat
Standard. These are documented in Developing Plug-ins and Applications
and the Acrobat and PDF Library API Reference.

The APIs that may be used for Adobe Reader are limited technically and
legally. Technical limitations are documented in Developing Plug-ins
and Applications and Developing Applications Using Interapplication
Communication.

Both Acrobat and Adobe Reader accept plug-ins. The primary difference
between the two is that, in general, Adobe Reader can neither make
changes to a file nor save a file. API methods that change a file in
such a way that a save would be required are not available in Adobe
Reader.

Developing for Adobe Reader

Adobe Reader only accepts "Reader-enabled" plug-ins, which can only
access a limited set of APIs. For information on enabling plug-ins for
Adobe Reader, see Developing Plug-ins and Applications and Developing
for Adobe Reader. Certain APIs are available to a Reader-enabled plug-
in if the PDF document has been assigned additional usage rights,
which is possible using LiveCycle Reader Extensions. For more
information on this, see the Overview.
For additional legal restrictions, see the Adobe Reader Integration
Key License Agreement.

Thanks a million for information I was just looking for a way of
parsing PDF for my ebook auto categorization program. (have a
gigabytes of books on programming and stuff, sick of sorting them by
hands).
 
R

Ramon F Herrera

Thanks a million for information I was just looking for a way of
parsing PDF for my ebook auto categorization program. (have a
gigabytes of books on programming and stuff, sick of sorting them by
hands).

For pure PDF processing (no GUI, just *.pdf files) you may want to
look into:

(1) The Adobe PDF Library (quite expensive, not to be confused with
the free Acrobat SDK)

(2) PDFlib is great. You can get it all the way from a freebie to
full of features:

http://www.pdflib.com

I use it to generate PDF files from scratch, on demand; haven't
tried the parsing options.
You may program it with any programming language.

-Ramon
 
J

Jason Cavett

I have been using Eclipse for a few weeks, and IMO there is no better
IDE.

Since my experience has been so productive -and hence satisfactory- in
Java, I would like to use the same IDE environment for C++
programming, the targets would be both Unix and Windows.

If there is any Eclipse/C++ developer out there, could you share your
recommendations, tips, opinions, etc.

I suppose I would have to attach somehow the appropriate compiler (gcc
or MS VC++) to the IDE. Will I then be able to use things like code
completion (press a dot and menu appears)?

The next question would be nirvana for me: Since I never use Unix/
Linux GUIs (just terminal/CLI remote access) but I develop under *ix,
I have been stuck to 'vi' forever. Remote XWindows is not feasible
because I may be in a country with no so great Internet bandwidth. So:
is it possible to run Eclipse on my local WinXP box, while driving the
gcc/gdb in a remote (across the Atlantic) server?

TIA,

-Ramon

A coworker and I recently completed research comparing MinGW (gcc) and
Eclipse, Visual Studio 6.0, and Visual Studio 2005.

I *highly* recommend going with Visual Studio 2005 if you're going to
be developing on a Windows system. There are many, many issues with
CDT including compilation order, debugging issues, etc, etc.
Additionally, on Windows systems, Visual Studio 2005 code runs faster
than gcc and VS6.0. Not only that, but a lot of the great features
for Java in Eclipse are not found in CDT.

That's just my recommendation, but since I just did this study, I
figured I should comment.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top