TRACKER : error TRK0005: Failed to locate: "CL.exe". The system cannot find the file specified.

Feb 27, 2016 at 7:35 PM

I'm trying to compile with v80 (VS2005) in VS2012. I've installed VS2005 express, 2010 express and 2012 professional.

I've installed daffodil and I get the dropdown to select v80 as the Platform Toolset, but building gives me the error message:

TRACKER : error TRK0005: Failed to locate: "CL.exe". The system cannot find the file specified.

Looking at the "Microsoft.Cpp.Win32.v80.targets" file, it seems like it's looking for registry keys:
<VCInstallDir Condition="'$(VCInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\8.0\Setup\VC@ProductDir) </VCInstallDir>
<VSInstallDir Condition="'$(VSInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\8.0\Setup\VS@ProductDir)</VSInstallDir>
However, checking my registry, I don't have these keys. Is this why it's failing? I did a repair installation of VS2005 express and they don't appear, I even tried adding them manually, no joy. Am I on the right track?
Feb 27, 2016 at 7:47 PM
I think you're on the right track, but if VS 2005 Express did not include all the build tools, you may plug one hole only to find another. It's possible the directory structure is different, so you may also need to change hardcoded relative paths to the build tools in the VS 2005 installation.
Feb 27, 2016 at 8:38 PM
I probably also should have mentioned that I have VS 2005 installed on my D: drive, would that make any difference? Would you suggest i try to get a 2005 professional?
Feb 27, 2016 at 10:08 PM
Edited Feb 28, 2016 at 10:06 AM
I have managed to get to the next error message by manually including the 8.0 bin directory in the executables line.

For interest, this page says that the registry keys are different depending which version you have:

Visual C++ 2005 Express - HKEY_LOCAL_MACHINE\Software\Microsoft\VCExpress\8.0\Setup\VS\ProductDir
Visual Studio 2005 Standard - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\Std\ProductDir
Visual Studio 2005 Professional - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\Pro\ProductDir
Visual Studio 2005 Premier Partner Edition - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\IDE\ProductDir

If you do not care which edition is installed, you can use the following registry value to detect whether or not any edition of Visual Studio 2005 is installed:
8.0 is a REG_SZ value that specifies a fully qualified path to the Visual Studio 2005 root installation directory. By default, this value will be set to c:\Program Files\Microsoft Visual Studio 8, but will be different if the user has installed Visual Studio 2005 to a non-default path.
Feb 28, 2016 at 10:24 AM
Edited Feb 28, 2016 at 10:45 AM
Also could you double check this line is correct

<WindowsSdkDir Condition="'$(WindowsSdkDir)' == ''">$(VCInstallDir)PlatformSDK\</WindowsSdkDir>

On my 2005 Express install, there is no PlatformSDK folder inside the VC install directory. However in previous 2005 projects I've needed to include this path:

D:\Program Files\Microsoft Platform SDK

Which I installed separately I believe, as part of the Windows Server 2003 SP1 Platform SDK.

Which may be the same thing?

There is also this:

D:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0
Feb 28, 2016 at 1:53 PM
MichaelParker wrote:
Also could you double check this line is correct
<WindowsSdkDir Condition="'$(WindowsSdkDir)' == ''">$(VCInstallDir)PlatformSDK\</WindowsSdkDir>
Yes, it is correct.
Jan 18, 2017 at 12:08 PM
Can you confirm which version of Visual Studio 2005 I need to install to get this to work? The registry keys are different between the VS versions, and daffodil does not support them all.
Jan 18, 2017 at 9:04 PM
VS 2005 Professional includes the C++ build tools and is known to work. I can't vouch for any other flavors.