Ask a questionAsk a question
 

General DiscussionVCPROJ upgrader - include path and output/temp directory creation issues

  • Tuesday, January 13, 2009 7:01 PMBob Summerwill Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Originally posted to the "Core Coding Experience forum", but I think it should actually be here:
    http://social.msdn.microsoft.com/Forums/en-US/vs2010ctpcpp/thread/dd1969f9-a2c3-4d44-952a-080566c1cb5d

    ...


    I hit two issues when first using the VCPROJ upgrader:


    1. Include paths with quotes around them are "upgraded" into VCPROJX files which don't actually work!     I believe this is similar to the issues reported in the following e-mail:

    http://social.msdn.microsoft.com/Forums/en-US/vs2010ctpcpp/thread/267022c4-e155-4b96-9679-463be84f2e2b#page:9999

    This issue can be worked around by manually stripping the quotes from either the source or generated paths, but can be considered a bug in the upgrader.   It takes a valid VCPROJ, which works, and produces an MSBuild file which doesn't work.

    If you don't already have a use-case to demonstrate this issue, I can put one together.    I believe you just get an invalid cl.exe command line generated when you try to build.     Just have quotes within the generated MSBuild file around include paths to see the issue.


    2. Visual Studio building using VCPROJ generates any required output or intermediate paths implicitly as part of the build process.   That doesn't seem to be happening off-the-bat with the MSBuild C++ build system.     The failure case I hit was that the linker was trying to generate a PDB into a directory which hadn't been created yet - resulting in a build error.

    Again, I can put together a use-case if needed, but just point your PDB directory to a non-existent directory to replicate the issue.



    Cheers,
    Bob