www.digitalmars.com         C & C++   DMDScript  

c++ - Eclipse IDE plugn for DMC

reply Scott Michel <scottm aero.org> writes:
I'm fairly close to releasing a beta version sometime next week -- the 
remaining part that's got me hung up today is dealing with STLport 
configuration.

For those of you who might be interested in testing and using the 
"Managed C++ Project" project types, you can currently build Win32 
Console, DLL and EXE projects. **You need the CDROM version of DMC**, 
since the free 'make' program is so feature-limited as to be completely 
useless to generate relatively sophisticated makefiles, and the 
'makedep' program is needed to track header dependencies.

Incremental builds are a slightly annoying feature of the Eclipse IDE: 
you save a file, and it triggers a recompile (invokes 'smake' for you.) 
But, DMC is a fast compiler, so it's only slightly annoying as opposed 
to completely annoying if you were to use MinGW/GCC.

One of the newer Eclipse features that will be in their next major 
release is the ability to use WinDBG as the debugger, which will be the 
way you can debug DMC-generated programs from within the Eclipse IDE. 
The cool part is that I've been compiling the DLL required for this 
functionality with the DMC plugin!! (Note: WinDBG can be downloaded from 
MS by searching for "debugging tools" in their MSDN site.)

What's missing? Probably lots of wacky linker flags, but in particular, 
I'm missing the ability to specify a ".res" file to the linker and 
compile resource files to ".res". Basically, I'm not sure what file 
extension to use -- I think ".rc" is probably correct, but someone with 
more clue can help me here. Then I'd have to add the toolchain 
definition, but that's relatively straightforward.
Jan 28 2005
next sibling parent Arjan Knepper <arjan ask.me> writes:
Scott Michel wrote:
 I'm fairly close to releasing a beta version sometime next week -- the 
 remaining part that's got me hung up today is dealing with STLport 
 configuration.

Do you really have that much free-time on your hands? Or is this part of your daytime job ;-)
 For those of you who might be interested in testing and using the 
 "Managed C++ Project" project types, you can currently build Win32 
 Console, DLL and EXE projects. **You need the CDROM version of DMC**, 
 since the free 'make' program is so feature-limited as to be completely 
 useless to generate relatively sophisticated makefiles, and the 
 'makedep' program is needed to track header dependencies.

Show me the link and I will certainly give it a try.
 One of the newer Eclipse features that will be in their next major 
 release is the ability to use WinDBG as the debugger, which will be the 
 way you can debug DMC-generated programs from within the Eclipse IDE. 
 The cool part is that I've been compiling the DLL required for this 
 functionality with the DMC plugin!! (Note: WinDBG can be downloaded from 
 MS by searching for "debugging tools" in their MSDN site.)

This would be really cool.
 What's missing? Probably lots of wacky linker flags, but in particular, 
 I'm missing the ability to specify a ".res" file to the linker and 
 compile resource files to ".res". Basically, I'm not sure what file 
 extension to use -- I think ".rc" is probably correct, but someone with 
 more clue can help me here. Then I'd have to add the toolchain 
 definition, but that's relatively straightforward.

Don't know whether or not this is what you're looking for: link /RC :PATH\TO\COMPILED\resourcefile.res rcc -32 -l<languagenumber> -I<includes> -o<output.res> <input.rc> Succes! Arjan Knepper
Jan 31 2005
prev sibling parent reply Scott Michel <scottm aero.org> writes:
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Walter will probably shoot me for attaching a small zip file to a 
message... but here's a beta version of a DMC plugin for Eclipse. No, I 
don't have copious free time nor is it really part of my job, but I 
happen to be happy with Eclipse and I'd really prefer to get development 
done with a fully function C/C++ compiler and save our customer money.

Some notes:
- This plugin provides support for building Managed C/C++ projects
   in Eclipse. It will not help you with building Standard C/C++
   projects, where you are in charge of managing your own makefile.
   However, you should be able to select the DMC error filter so that
   the compiler's error output is parsed correctly.

- STLport configuration
   - Lets you set where the compiler should pick up the header files
   - If you're using the current MS SDK, you will want to check the
     appropriate box so that you don't get compiler warnings about
     InterlockedIncrement's changed declaration.

- OPTLINK properties
   - The imports/exports page doesn't do anything yet. Might add it
     at a later date.
   - OPTLINK doesn't know how to attach a resource file to an executable
     (yet.)

- You need to have the CDROM version of DMC to use this plugin, or beg
   Walter for the smake and makedep programs. The free make program is
   totally inadequate for building managed C/C++ projects that have
   subdirectories. Alternatively, MS's NMAKE 1.5 could be used but you
   will have to change the build settings appropriately.

- Do not use subdirectories with "_" in their names; smake will blow up.
   (Walter knows about this problem, so don't bug him about it.)

- The plugin builds Win32 console, dll and exe binaries ONLY!

- Eclipse doesn't offer any constraints with respect to setting compiler
   options. It will not disable choices that are completely wrong for a
   particular type of project. So, if you change the Windows Prolog and
   Epilog settings on a console project to DLL defaults, and your program
   no longer executes... you were warned.

- You need to install Eclipse 3.1 and CDT 2.1
   - CDT 2.1 doesn't yet support using WinDBG as the debugger; that's
     in a future version of CDT.

- If you have to add include directories, bear in mind that the project
   builds inside the Debug or Release compilation directories. You should
   add "$(ROOT)/<your include path here>" to the compiler's include
   settings. $(ROOT) is a built-in make macro that corresponds to the top
   of the project directory.
Jan 31 2005
parent "Walter" <newshound digitalmars.com> writes:
"Scott Michel" <scottm aero.org> wrote in message
news:ctn0kr$2ev7$1 digitaldaemon.com...
 Walter will probably shoot me for attaching a small zip file to a
 message... but here's a beta version of a DMC plugin for Eclipse.

Thanks for making this available!
Feb 03 2005