【发布时间】:2019-02-13 12:42:29
【问题描述】:
我正在尝试在 VS2017 中构建 c/c++ 项目 [https://git.postgresql.org/gitweb/?p=psqlodbc.git;a=blob;f=winbuild/psqlodbc.vcxproj;h=c54c93007c07c2b13bbea4ede14a6ee0e11fdf5a;hb=c54c93007c07c2b13bbea4ede14a6ee0e11fdf5a][1]
项目文件中有条件
<ClCompile Include="$(srcPath)odbcapi30.c" />\r
<ClCompile Condition="'$(ANSI_VERSION)'=='no'" Include="$(srcPath)odbcapi30w.c" />\r
<ClCompile Condition="'$(ANSI_VERSION)'=='no'" Include="$(srcPath)odbcapiw.c" />\r
我创建了 Unicode 调试/发布 ANSI 调试/发布 配置 在项目属性->c\c++->预处理器中,我为 Unicode 添加了 ANSI_VERSION=no,为 ANSI 添加了 ANSI_VERSION=yes。
但是对于任何平台/配置,我在解决方案资源管理器中看到这些文件,它们是由 VS2017 编译的。仅当条件为真时如何将这些文件包含到项目中?
【问题讨论】:
标签: msbuild visual-studio-2017 c-preprocessor