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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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