c++ - MSBuild C++ - 命令行 - 我可以传递字符串类型定义吗?
问题描述
我想从 MSBuild 命令行指定一个字符串参数。
我在 C++ 项目中定义了一个字符串类型宏,例如:
#define MYSTRING "hoge"
MYSTRING
分配给一个 CString 变量,如:
CString str = MYSTRING;
我想通过 msbuild 命令行传递这个宏参数,而不是在代码上定义它。
我提到了这个类似的问题, MSBuild C++ - 命令行 - 可以通过定义吗? 我在 ClCompile 的 AdditionalOptions 中添加了带有 /D 选项的参数:
<ItemDefinitionGroup>
<ClCompile>
<AdditionalOptions>/D MYSTRING=$(MyString) %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
</ItemDefinitionGroup>
然后,将 msbuild.exe 调用为:
msbuild /p:MyString="hoge" MyProject.vcxproj
但是错误发生在网上CString str = MYSTRING;
:
error C2065: 'hoge': undeclared identifier
你知道为什么会出现这种错误吗?
有什么解决方法吗?
解决方案
推荐阅读
- reactjs - React:如果我在 useEffect 中调用 setState,则 ref 变为 null
- latex - 乳胶操作后将 PDF 文件添加到 GitHub 存储库
- react-native - Expo AuthSession 似乎在 Expo Go 中不起作用
- ios - Flutter 的 WillPopScope 禁用 IOS 后退手势,如何启用?
- python - 我正在尝试为 odoo 中的某些用户限制树视图中导出数据的功能
- python-3.x - 在 `.yml` 文件中传递 `lambda` 函数
- python - 在 sk learn 中为 2D 高斯过程回归器创建内核
- sql - 如何在闭包表中获取节点的所有直接后代
- python - 将注册表单中输入的值发布到 SQLite 数据库并在控制台中打印出这些值
- macos - 自托管 Devops 代理 - 配置启动错误