Compiling from folders with VC - problems with paths
I've been re-organizing my jam project to avoid making modifications to any of the jam files in the jam source tree - and I came across an odd problem - and I'm not sure why it's happening.
When I first started doing jam stuff, I was mucking around and changing stuff in the default c-compilers folder -- but now I've restored that folder back to the repo copy - I'm having problems with VC 2008 not dealing with '/' forward slashes in files.
The error is...
@ C.C++ <Core>COR_CalcHash.obj PATH=C:/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE;%PATH% SET INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 10.0\vc\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\\Include "C:\Program Files (x86)\Microsoft Visual Studio 10.0\vc\bin\cl" /nologo @C:\Users\Hexland\AppData\Local\Temp\jam3 "/Projects/Engine/Core/COR_CalcHash.cpp" ====================================================================== contents of response file C:\Users\Hexland\AppData\Local\Temp\jam3 /TP /nologo /W3 /GF /TP /Oi /MP /c /Gy /EHsc /Gd /Od /EHsc /W3 /RTC1 /Od /MTd /RTC1 /RTCs /Zi /I"." /I"/Projects/Engine/Core" /I"/Projects/engine" /I"/Projects/tools/ Libraries" /I"C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include" /I"C:/Program Files (x86)/Microsoft Visual Studio 10.0/vc/include" /I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\/Include" /DMACHINE_PC32 /DWIN32 /D_WIN32 /DMACHINE_TYPE=PC32 /DMACHINE_WINDOWS /D_DEBUG /DDEBUG /DCONFIG_DEBUG /DCONF IG_DEBUG /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_DEPRECATE /DWIN32 /DWINDOWS /c /Fo"\Projects\engine\Lib\win32\debug\Obj\Core\\" /F d"/Projects/engine/Lib/win32/debug/Obj/Core/vc.pdb" ---------------------------------------------------------------------- cl : Command line error D8021 : invalid numeric argument '/Projects/Engine/Core/COR_CalcHash.cpp' *** failed C.C++ <Core>COR_CalcHash.obj ...
If I change the C.C++ action in c-vc.jam to use the path fixup notation
$(C.C++:\\C) /nologo @@($(MFLAGS)) $(>:C)
$(C.C++:\\C) /nologo @@($(MFLAGS)) $(>:C:\\)
-- it works great!
Any idea what could be going wrong?
I can just change it in c-vc.jam for now - but the whole point of my cleanup exercise was to go through and remove my hacks and changes, and override the rules and defines properly.
You're missing the drive letter in front of the paths, and for absolute paths on Windows, that is expected. Why is it missing? I can't think of any way one could pull that off...?