DonationCoder.com forum
 
Read-only archive. This is a static copy of the DonationCoder.com forum. Reading and searching work as before; logging in, posting and private messages do not.
Archive of 2026-10-21 · About this archive · Main site

Author Topic: Two cl.exe files -- both are different and they are both MS C++ Compiler  (Read 6,161 times)

SkyIDE

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 245
    • Participated in NANY Challenge Once
Ok,

I just started messing around with adding support for Visual C++ Express.

I also installed .NET 2.0 SDK. Here is the confusing part. There seem to be two cl.exe files and I have no idea which is the one utilized by VC++ Express.

One is located in C:\Program Files\Microsoft Visual Studio 8\VC\bin
and one C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin


They both produce "different" options but the one in the C:\Program Files\Microsoft Visual Studio 8\VC\bin does not seem to work as its linker cannot find some files. I already re-installed VC++ Express twice and same story ...  but

the one in C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin also didn't work -- its linker couldn't find some files so I had to re-locate the "missing" libs into system32 and the home dir too. Anyway my question is, which is the right compiler for VC++ Express? Which one should I work with to add support?

Microsoft's own installation fails to set things up properly. They probably didn't modify my env paths...

« Last Edit: May 31, 2007, 07:15 AM by SkyIDE »

f0dder

  • [Well, THAT escalated quickly!]
  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
    • Participated in NANY Challenge Once
Well, you need to set correct INCLUDE and LIB environment variables, or pass the right compiler and linker switch to add the paths - this doesn't happen automatically. Iirc the VC++ express is vc8. Any chance you've installed the "vc2003 toolkit" a while ago? That could explain the vc7 install.

Quote
Microsoft's own installation fails to set things up properly. They probably didn't modify my env paths...
Indeed not, instead it creates a shortcut to cmd.exe that sets up the environment. This is done, I guess, to make sure you can have several tools installed without getting a messed up system.
- carpe noctem

SkyIDE

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 245
    • Participated in NANY Challenge Once
Hmm I installed a lot of stuff lately including BDS2006 Enterprise and this installer installs other stuff as well such as .NET 1.0 + SDK, Service packs for .NET and a lot more. I wish I saw my file system structure before the installation of all this but I just looked in the about box for VC++ 2008 and it says version 8.0 so it's gotta be C:\Program Files\Microsoft Visual Studio 8\VC\bin and that's the one I will work with.

Also all the "missing" files are located in C:\Program Files\Microsoft Visual Studio 8\VC\lib so for some reason the VC++ installer did not modify my env variables
« Last Edit: May 31, 2007, 08:55 AM by SkyIDE »

f0dder

  • [Well, THAT escalated quickly!]
  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
    • Participated in NANY Challenge Once
For VC8, the paths you'll want to (manually) add are:
include: <%vsbase%\vc\include> & <%vsbase%\vc\PlatformSDK\include>
include: <%vsbase%\vc\lib> & <%vsbase%\vc\PlatformSDK\lib>

Note that there's no vsbase environment set up by the installer, you should grab this from the registry somewhere. Also, iirc the layout changed from VS2003 to VS2005. And I already explained why the installer doesn't modify your env variables :)
- carpe noctem

SkyIDE

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 245
    • Participated in NANY Challenge Once
Problem solved...Thanks! Back in business :)

Quote
And I already explained why the installer doesn't modify your env variables

yep :D


Original address: https://www.donationcoder.com/forum/index.php?topic=8724.0