0

VS2005アプリケーションがあります。構築環境に文字列リテラルを取得するために、ユーザー定義マクロがプロパティシートで定義されています。例えば ​​-

Build_Ver, From_Build_Server=""3.1.1234""

上記の場合、Build_Verはマクロであり、その値はFrom_Build_Server=""3.1.1234""です。VS2005の場合、2組の二重引用符が必要であることに注意してください。二重引用符のペアを1つだけ使用する場合、マクロ値はと見なされ3.1.1234ますFrom_Build_Server

// /D "From_Build_Server=""3.1.1234"""

std::string str(From_Build_Server);

// works on VS 2005 as the value is "3.1.1234". It strips away 1 pair of "" 
// quotes.

VS 2012で同じものを複製しようとすると、何か違うことが起こります。同じマクロに対して、それは環境にもたらし/D "From_Build_Server=\"\"3.1.1234\"\""ます。

std::string str(From_Build_Server);  // Fails on VS 2012 as the value is 
                                     // ""3.1.1234"". Not stripping by default.

1組の二重引用符を使用すると、VS 2012で機能しますが、VS2005では機能しません。VS2005とVS2012の両方で機能させる方法はありますか?

4

0 に答える 0