Строковый литерал как переменная среды в VS 2012

у меня есть VS 2005 приложение. Пользовательский макрос определен в листе свойств, чтобы получить строковый литерал во встроенную среду. Например —

Build_Ver, From_Build_Server=""3.1.1234""

В приведенном выше случае Build_Ver это макрос, и это значение From_Build_Server=""3.1.1234"", Обратите внимание, что две пары двойных кавычек необходимы в случае VS2005. Если используется только одна пара двойных кавычек, значение макроса считается 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, но работает на VS 2005. Есть ли способ заставить ее работать на VS 2005 и VS 2012?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]