Code::Blocks

User forums => General (but related to Code::Blocks) => Topic started by: Jerubaal on October 30, 2005, 01:17:10 am

Title: MSVS 2005 released...
Post by: Jerubaal on October 30, 2005, 01:17:10 am
Microsoft just released Visual Studio 2005(http://www.gamedev.net/community/forums/topic.asp?topic_id=354463). My main question is, when the free 05 VC++ compliler comes out, will code::blocks as it is currently be able to support it, or will that functionality have to be added? Let me hear your ideas, thoughts, opinions, etc...
Title: Re: MSVS 2005 released...
Post by: rickg22 on October 30, 2005, 02:32:08 am
That's an easy one. Has Microsoft introduced new incompatibilities with their latest compiler?

If not, we're all set. :)
Title: Re: MSVS 2005 released...
Post by: killerbot on October 30, 2005, 10:45:10 am
knowing M$ .... we are not set   :twisted:

There is certainly one great addition, they provide know a console dump (or how should it be called), so even within GUI progs you can send stuff towards cout and cerr and see it in a little pane in the bottom.

I already played around a bit with the beta, and I am in for a though job, all project and workspace files change again, very nice for a version control system ...

Next week I'll even get a free copy @ devconnections in vegas. No, I am not there for the M$ talks, but for the c++ gurus.
Title: Re: MSVS 2005 released...
Post by: rickg22 on October 31, 2005, 01:31:27 am
Hey, perhaps you could do some publicity for us ;-)
Title: Re: MSVS 2005 released...
Post by: killerbot on October 31, 2005, 08:49:08 am
Yes, I will do that. Currently on my laptop there's not even Visual Studio anymore, just Dev-Cpp and Code::Blocks.
So every code stuff will be in CB.   8)

Planning to convince my collegues also, I managed to get them to switch to dev-cpp for an embedded platform a few years ago, planning to this again now for CB, just a few bugs need to be gone and some extra functionality needed (which I can implement some parts of it).

But will need that RC3 or RC2bis first, too many show stoppers (like the right click loses the selection).

Lieven
Title: Re: MSVS 2005 released...
Post by: zieQ on October 31, 2005, 11:09:57 am
I just can try it out, use VS2005 with C::B to see if there are some problems. But i think it will work. Even if the binaries are not the same, the command-lines for compiler/linker are quite the same from version to version. But the auto-detection will fail anyway  :P
Title: Re: MSVS 2005 released...
Post by: royalbox on November 12, 2005, 12:57:32 am
I just downloaded the free express edition of VS 2005. I installed it on another partition I use for testing stuff. I wasn't interested in trying it out I just wanted to try the compiler in code::blocks so I copied the bin folder to a partition, re-started my main partition and went to the bin folder. I opened a command prompt and typed cl /? to have a look to see the commands and got an error message that it wasn't installed properly.

I don't know whether it's registry values or files it's looking for but it certainly is looking for something outside the bin folder. Anyone know? I don't want to install the whole app on my main partition just to try the compiler.
Title: Re: MSVS 2005 released...
Post by: Storkman on November 25, 2005, 04:28:01 pm
Good morning...

I just tried pointing the 2003 config to my 2005 Express installation directories and didn't work.  I forget the exact error message when I told C::B to rebuild, but the essence was the it could not execute cl.exe

I tried just double-clicking on cl.exe from an explorer window and that gave me a missing DLL error (mspdb80.dll, which is in the /common7/IDE subdirectory of the 2005 Express install).  Copying the DLL to various locations (next to cl.exe, to C::B's install directory, etc. - never tried system32 though) didn't solve the problem.  So I'm not sure what the other dependancies are.
Title: Re: MSVS 2005 released...
Post by: Michael on November 25, 2005, 04:57:03 pm
Copying the DLL to various locations (next to cl.exe, to C::B's install directory, etc. - never tried system32 though) didn't solve the problem.  So I'm not sure what the other dependencies are.

Strange. Copying the DLL in the same location as the cl.exe should work or at least give the next missing DLL if any. Have you had a look at what VS C++ 2005 Express Edition installation has put in your env. variables (e.g., PATH)? Look also at which directories (e.g., include, lib) are set in VS C++ 2005 Express edition.

Best wishes,
Michael
Title: Re: MSVS 2005 released...
Post by: takeshi miya on December 01, 2005, 02:37:32 am
Hi! Some compiler switches have changed in MSVC 2005.

Here's a list of breaking changes from the previos version:
http://msdn2.microsoft.com/en-us/library/ms177253.aspx

And here's a list of command switches:

C:\Programme\Microsoft Visual Studio 8\VC>cl -? > C:\cl.txt
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

                         C/C++ COMPILER OPTIONS


                              -OPTIMIZATION-

/O1 minimize space                      /O2 maximize speed
/Ob<n> inline expansion (default n=0)   /Od disable optimizations (default)
/Og enable global optimization          /Oi[-] enable intrinsic functions
/Os favor code space                    /Ot favor code speed
/Ox maximum optimizations               /Oy[-] enable frame pointer omission

                             -CODE GENERATION-

/GF enable read-only string pooling     /Gm[-] enable minimal rebuild
/Gy[-] separate functions for linker    /GS[-] enable security checks
/GR[-] enable C++ RTTI                  /GX[-] enable C++ EH (same as /EHsc)
/EHs enable C++ EH (no SEH exceptions)  /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow     
/fp:<except[-]|fast|precise|strict> choose floating-point model:
    except[-] - consider floating-point exceptions when generating code
    fast - "fast" floating-point model; results are less predictable
    precise - "precise" floating-point model; results are predictable
    strict - "strict" floating-point model (implies /fp:except)
/GL[-] enable link-time code generation /GA optimize for Windows Application
/Ge force stack checking for all funcs  /Gs[num] control stack checking calls
/Gh enable _penter function call        /GH enable _pexit function call
/GT generate fiber-safe TLS accesses    /RTC1 Enable fast checks (/RTCsu)
/RTCc Convert to smaller type checks    /RTCs Stack Frame runtime checking
/RTCu Uninitialized local usage checks 
/clr[:option] compile for common language runtime, where option is:
    pure - produce IL-only output file (no native executable code)
    safe - produce IL-only verifiable output file
    oldSyntax - accept the Managed Extensions syntax from Visual C++ 2002/2003
    initialAppDomain - enable initial AppDomain behavior of Visual C++ 2002
    noAssembly - do not produce an assembly
/Gd __cdecl calling convention          /Gr __fastcall calling convention
/Gz __stdcall calling convention        /GZ Enable stack checks (/RTCs)
/QIfist[-] use FIST instead of ftol()   
/hotpatch ensure function padding for hotpatchable images
/arch:<SSE|SSE2> minimum CPU architecture requirements, one of:
    SSE - enable use of instructions available with SSE enabled CPUs
    SSE2 - enable use of instructions available with SSE2 enabled CPUs

                              -OUTPUT FILES-

/Fa[file] name assembly listing file    /FA[scu] configure assembly listing
/Fd[file] name .PDB file                /Fe<file> name executable file
/Fm[file] name map file                 /Fo<file> name object file
/Fp<file> name precompiled header file  /Fr[file] name source browser file
/FR[file] name extended .SBR file       
/doc[file] process XML documentation comments and optionally name the .xdc file

                              -PREPROCESSOR-

/AI<dir> add to assembly search path    /FU<file> forced using assembly/module
/C don't strip comments                 /D<name>{=|#}<text> define macro
/E preprocess to stdout                 /EP preprocess to stdout, no #line
/P preprocess to file                   /Fx merge injected code to file
/FI<file> name forced include file      /U<name> remove predefined macro
/u remove all predefined macros         /I<dir> add to include search path
/X ignore "standard places"             

                                -LANGUAGE-

/Zi enable debugging information        /Z7 enable old-style debug info
/Zp[n] pack structs on n-byte boundary  /Za disable extensions
/Ze enable extensions (default)         /Zl omit default library name in .OBJ
/Zg generate function prototypes        /Zs syntax check only
/vd{0|1|2} disable/enable vtordisp      /vm<x> type of pointers to members
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
    forScope[-] - enforce Standard C++ for scoping rules
    wchar_t[-] - wchar_t is the native type, not a typedef
/ZI enable Edit and Continue debug info
/openmp enable OpenMP 2.0 language extensions

                              -MISCELLANEOUS-

@<file> options response file           /?, /help print this help message
/bigobj generate extended object format /c compile only, no link
/errorReport:option Report internal compiler errors to Microsoft
    none - do not send report               
    prompt - prompt to immediately send report
    queue - at next admin logon, prompt to send report (default)
    send - send report automatically         
/FC use full pathnames in diagnostics   /H<num> max external name length
/J default char type is unsigned        /nologo suppress copyright message
/showIncludes show include file names   /Tc<source file> compile file as .c
/Tp<source file> compile file as .cpp   /TC compile all files as .c
/TP compile all files as .cpp           /V<string> set version string
/w disable all warnings                 /wd<n> disable warning n
/we<n> treat warning n as an error      /wo<n> issue warning n once
/w<l><n> set warning level 1-4 for n    /W<n> set warning level (default n=1)
/Wall enable all warnings               /WL enable one line diagnostics
/WX treat warnings as errors            /Yc[file] create .PCH file
/Yd put debug info in every .OBJ        /Yl[sym] inject .PCH ref for debug lib
/Yu[file] use .PCH file                 /Y- disable all PCH options
/Zm<n> max memory alloc (% of default)  /Wp64 enable 64 bit porting warnings

                                -LINKING-

/LD Create .DLL                         /LDd Create .DLL debug library
/LN Create a .netmodule                 /F<num> set stack size
/link [linker options and libraries]    /MD link with MSVCRT.LIB
/MT link with LIBCMT.LIB                /MDd link with MSVCRTD.LIB debug lib
/MTd link with LIBCMTD.LIB debug lib   
Title: Re: MSVS 2005 released...
Post by: duncanka on December 01, 2005, 06:24:41 am
I tried just double-clicking on cl.exe from an explorer window and that gave me a missing DLL error (mspdb80.dll, which is in the /common7/IDE subdirectory of the 2005 Express install).  Copying the DLL to various locations (next to cl.exe, to C::B's install directory, etc. - never tried system32 though) didn't solve the problem.  So I'm not sure what the other dependancies are.

I had the same problem with the MSVC6 Introductory Edition compiler.  I found that going to Compiler Options --> Select VC++ compiler --> Programs tab --> Additional Paths subtab, and adding the path containing the missing DLL to that list, solved the problem.
Title: Re: MSVS 2005 released...
Post by: royalbox on December 01, 2005, 02:27:08 pm
If anyone works out how to get this compiler working "without" having the whole Visual Studio installed -- similar to toolkit 2003 -- please let us know.
Title: Re: MSVS 2005 released...
Post by: Michael on December 01, 2005, 02:32:40 pm
If anyone works out how to get this compiler working "without" having the whole Visual Studio installed -- similar to toolkit 2003 -- please let us know.
IMHO, I am not sure, due to license issues, that you can simply get the compiler/linker (similar to MS Toolkit 2003) without installing at least the "free" Express Edition (and may be deleting later the unwished components).

Best wishes,
Michael
Title: Re: MSVS 2005 released...
Post by: Storkman on December 10, 2005, 11:26:02 pm
If anyone works out how to get this compiler working "without" having the whole Visual Studio installed -- similar to toolkit 2003 -- please let us know.

Good evening...

I was running through the usual cvtres.exe issues with the 2k3 toolkit; and tried to use the cvtres that came with the VC++ Express install; and I get the impression it's a .NET app now. 

Microsoft released 2k3 toolkit to be used from the command line; and C::B just wraps that.  But no 2k5 toolkit has been released.  There is a 2k5 command prompt though so it could be possible.
Title: Re: MSVS 2005 released...
Post by: royalbox on December 13, 2005, 02:30:32 pm
Thanks for the answers. Maybe Microsoft will release a 2005 toolkit.
Title: Re: MSVS 2005 released...
Post by: TDragon on December 13, 2005, 04:02:46 pm
Thanks for the answers. Maybe Microsoft will release a 2005 toolkit.
I would suspect they wouldn't do that since they've provided VC2005 Express for free, which includes the whole optimizing compiler (minus the "Profile Guided Optimization" from the professional editions which is actually an add-on component).
Title: Re: MSVS 2005 released...
Post by: 280Z28 on December 13, 2005, 04:13:30 pm
I have access to the mommajamma Visual Studio Team Server 2005 at work. I will be working on the Visual Studio related C::B features eventually. (importing, etc.)

It's a very powerful program, and having familiar options for VS users available will make C::B a VERY attractive option for people who use it at work and want a near-0 learning-curve option they can use at home for free.

Sam
Title: Re: MSVS 2005 released...
Post by: takeshi miya on December 13, 2005, 04:52:31 pm
It would be interesting to know what kind of features a Visual Studio user is really missing now in C::B.
Title: Re: MSVS 2005 released...
Post by: Michael on December 13, 2005, 04:53:38 pm
I would suspect they wouldn't do that since they've provided VC2005 Express for free, which includes the whole optimizing compiler (minus the "Profile Guided Optimization" from the professional editions which is actually an add-on component).

I think the same too. Visual Studio 2005 Express is free of charges for the first year and the price would be later quite low. But Express Edition lack of some interesting features. I suppose that M$ will with the Express Edition gives a taste of Visual Studio 2005 in the hope ( :roll:) that their users will switch to an improved, rich and expensive version.

Michael
Title: Re: MSVS 2005 released...
Post by: TDragon on December 13, 2005, 05:20:56 pm
It would be interesting to know what kind of features a Visual Studio user is really missing now in C::B.
I'll chime in, but I may not be the most representative of Visual Studio users...
Anyway, the reason I downloaded and use (half of the time) VC2005 Express was for "consistency": consistently working code completion and debugging. Since C::B is a beta product, I'm sure these will improve over time (and I hope to help in their improvement). Everything else I use in VS works satisfactorily in C::B.
Title: Re: MSVS 2005 released...
Post by: takeshi miya on December 13, 2005, 05:51:01 pm
Somehow I've looked at the MSVC 2005 interface, and everything is made in .NET forms.
The interface looks ugly (the buttons are bigger than normal, lot's of refresh problems, and slower overall) so the GUI is not like using native widgets and looks ugly.
In fact, C::B using wxWidgets looks a lot more native (and better) than MSVC 2005 which is weird :lol:

I'm thinking M$ is doing that on purpose, so their .NET widgets looks ugly in WinXP but fine in Vista...
Title: Re: MSVS 2005 released...
Post by: 280Z28 on December 13, 2005, 05:57:07 pm
It would be interesting to know what kind of features a Visual Studio user is really missing now in C::B.

Attachable build property sheets

Virtual space option ;)

Code refactoring

.NET language support - autocompletion of the .NET Framework

Go to definition in addition to go to declaration for functions

Class diagrams

Monstrously powerful debugger - I haven't used the one in C::B to compare yet

Somehow I've looked at the MSVC 2005 interface, and everything is made in .NET forms.
The interface looks ugly (the buttons are bigger than normal, lot's of refresh problems, and slower overall) so the GUI is not like using native widgets and looks ugly.
In fact, C::B using wxWidgets looks a lot more native (and better) than MSVC 2005 which is weird :lol:

I'm thinking M$ is doing that on purpose, so their .NET widgets looks ugly in WinXP but fine in Vista...

I really like the look and feel of VS 2005. It's not sluggish on a fast computer.
Title: Re: MSVS 2005 released...
Post by: takeshi miya on December 13, 2005, 06:57:49 pm
Quote from: 280Z28
Attachable build property sheets
What is that?

Quote from: 280Z28
Virtual space option ;)
You're welcome to DIY :)

Quote from: 280Z28
Code refactoring
This feature would be easy to do once we have a good AST build from the code.
http://sourceforge.net/tracker/index.php?func=detail&aid=1228838&group_id=126998&atid=707419
http://sourceforge.net/tracker/index.php?func=detail&aid=1341566&group_id=126998&atid=707419


Quote from: 280Z28
.NET language support - autocompletion of the .NET Framework
I don't want to start flamewars so I'll pass on this. :P

Quote from: 280Z28
Go to definition in addition to go to declaration for functions
Yes, very needed feature, I've submited a FR:
http://sourceforge.net/tracker/index.php?func=detail&aid=1362947&group_id=126998&atid=707419

Quote from: 280Z28
Class diagrams
Again, not difficult to do once we have an AST. But until that... very unlikely.
http://sourceforge.net/tracker/index.php?func=detail&aid=1228844&group_id=126998&atid=707419
http://sourceforge.net/tracker/index.php?func=detail&aid=1228839&group_id=126998&atid=707419

Quote from: 280Z28
Monstrously powerful debugger - I haven't used the one in C::B to compare yet
When you've compared them let us know what you're really missing from it.

Quote from: 280Z28
I really like the look and feel of VS 2005. It's not sluggish on a fast computer.
I don't know if my Athlon 64 3000+ isn't fast, but VS 2005 have noticeable delay when doing anything.

Here are screenshoots of the Save As dialog:

MSVC 6: Uses MFC, looks native. Well drawn buttons and combobox.
(http://xjapan.com.ar/downloads/cb/SaveAs-MSVC6.PNG)

MSVC 2005: Uses .NET, doesn't look native. Big buttons and combobox, everything ugly.
(http://xjapan.com.ar/downloads/cb/SaveAs-MSVC2005.PNG)

C::B: Uses wx, looks native, and haves more functionality than MSVC 6. Everything well drawn.
(http://xjapan.com.ar/downloads/cb/SaveAs-CB1.PNG)

So far, that is an example. The MSVC 2005 configuration dialogs looks even more ugly...

Also note that the MSVC 6 & C::B dialogs are internationalized, whereas the MSVC 2005 is not.
Title: Re: MSVS 2005 released...
Post by: CSharp on December 17, 2005, 10:05:29 pm
Thats because you isnt using the "standard" windows decorations :)

with standard install of xp/vs2k5 its more like;
(http://dkp.sys-adm.dk/ui_save.png)

Anyway like CodeBlocks :)
Title: Re: MSVS 2005 released...
Post by: takeshi miya on December 18, 2005, 01:42:21 am
Anyways, notice the buttons, the icons, the sidebar, the language (not translated).
They really know how to make non-native things for their own OS.
Title: Re: MSVS 2005 released...
Post by: Conan Kudo on February 26, 2006, 05:25:15 pm
I believe the VC2005 express just wraps a improved VC2003 toolkit with the options changed... Everything else is the same compared to the toolkit, which is why some programs built with the express edition will break when trying to compile with the professional edition... I know this because I originally had the express edition, but when the higher-ups gave me professional edition, most of my programs broke because they were written in a form that works only with express edition... I had to change compiler setttings, modify projects, the whole works....