I think that the file CasablancaMetroSDK.props has some errors

Locked I think that the file CasablancaMetroSDK.props has some errors

  • Sunday, August 19, 2012 5:09 PM
     
     

    Hi,

    The msbuild file CasablancaMetroSDK.props that you provide as part of the Casablanca Metro SDK contains references to properties instead of item metadata:

    $(AdditionalIncludeDirectories) instead of %(AdditionalIncludeDirectories)

    $(AdditionalLibraryDirectories) instead of %(AdditionalLibraryDirectories)

    $(AdditionalDependencies) instead of %(AdditionalDependencies)

    This causes some compilation errors. For instance, the generated file App.g.h is no more found.

All Replies

  • Tuesday, August 21, 2012 2:16 PM
    Owner
     
     

    Thanks for reporting this. I see the declarations that you are mentioning, but they work fine on our systems.

    I wonder if this is a locale issue. Are you running a localized (non-English) version of Visual Studio? We haven't tested the DevLabs release on anything but the English version of VS, frankly.

    Niklas

  • Tuesday, August 21, 2012 9:58 PM
     
     

    Thanks for your answer. Sorry, maybe I don't understand it correctly, but I don't think this is a localization issue due to my specific environment.

    If you have have written $(AdditionalIncludeDirectories) in your original shipped file instead of %(AdditionalIncludeDirectories), then I think this is an error that affects everybody (but can be silent for a while because of [bad] luck).

    In msbuild syntax, if you write this:

      <ItemDefinitionGroup>
        <ClCompile>
          <AdditionalIncludeDirectories>blablablah;$(foo);$(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
        </ClCompile>
      </ItemDefinitionGroup>

    This does not mean the same as:

      <ItemDefinitionGroup>
        <ClCompile>
          <AdditionalIncludeDirectories>blablablah;$(foo);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
        </ClCompile>
      </ItemDefinitionGroup>

    - In the first case you want to reference the value of a property named AdditionalIncludeDirectories.

    - In the second case you want to reference the previous value of the metadata AdditionalIncludeDirectories of the item definition ClCompile.

    This second case is the classic usage for adding more additional include directories to the existing ones: this is the one that you should use in your file. Whereas the first case will hide any previous additional include directories set by a previous similar delcaration.

  • Wednesday, August 22, 2012 2:28 PM
    Owner
     
     

    Yes, I didn't realize the difference.

    We'll take a look. I presume that it all works for you if you edit the file?

    Niklas

  • Wednesday, August 22, 2012 8:16 PM
     
     Answered
    Yes, after replacing $ by % for the 3 occurences that I noticed, then it compiles and links fine.