MSBuild C++ – командная строка – Могу ли я передать определение типа строки?C++

Программы на C++. Форум разработчиков
Anonymous
MSBuild C++ – командная строка – Могу ли я передать определение типа строки?

Сообщение Anonymous »

Я хочу указать строковый параметр из командной строки MSBuild.
Я определяю макрос строкового типа в проекте C++, например:

Код: Выделить всё

#define MYSTRING "hoge"

Код: Выделить всё

MYSTRING
присваивается переменной CString, например:

Код: Выделить всё

CString str = MYSTRING;

И я хочу передать этот параметр макроса через командную строку msbuild вместо того, чтобы определять его в коде.
Я ссылался на аналогичный вопрос,
MSBuild C++ — командная строка — может передавать определения?
Я добавил параметр с параметром /D в дополнительных параметрах ClCompile:

Код: Выделить всё


/D MYSTRING=$(MyString) %(AdditionalOptions)


А затем, когда msbuild.exe вызывается как:

Код: Выделить всё

msbuild /p:MyString="hoge" MyProject.vcxproj
Но ошибка произошла в строке CString str = MYSTRING;:

Код: Выделить всё

error C2065: 'hoge': undeclared identifier
Знаете ли вы, почему возникает такая ошибка?
Есть ли обходной путь?

Подробнее здесь: https://stackoverflow.com/questions/683 ... pe-defines

Вернуться в «C++»