【问题标题】:How to specify which .cpp files to compile based on the current build configuration?如何根据当前构建配置指定要编译的 .cpp 文件?
【发布时间】:2014-07-30 07:45:44
【问题描述】:

我的项目中有多个构建配置,我想根据当前选择的配置交换一些 .CPP 文件。如何在 Visual Studio 2013 中做到这一点?

【问题讨论】:

  • 如果可能的话,您可以为不同的配置定义不同的预处理器,以及一个“主”源文件,其中包括其他取决于预处理器宏的源文件。

标签: c++ visual-studio


【解决方案1】:

在 GUI 中,查看 cpp 文件的属性并将“从构建中排除”设置为“yes”以用于排除它的配置。

在项目文件中会是这样的:

<ClCompile Include="my_platform_specific_file.cpp">
    <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
            true
    </ExcludedFromBuild>
</ClCompile>

【讨论】:

    【解决方案2】:

    在 IDE 中。

    选择您要更改的配置(从Build &gt; Configuration Manager 或工具栏中的下拉菜单。从解决方案资源管理器中,在您希望更改的文件上;右键单击> 属性> 从构建中排除> 选择是或否。

    在项目文件本身中,找到要排除的文件

    <ClCompile Include="xyz.cpp">
    

    添加以下元素;

    <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='MyConfiguration|Win32'">true</ExcludedFromBuild>
    

    MyConfiguration 是您希望从中排除文件的配置。

    【讨论】:

      【解决方案3】:

      这可能是开始寻找更通用的项目经理的好理由。

      我可以建议您研究一下 CMake,它非常功能强大,可以生成 VisualStudio 项目。学习曲线可能很高(对于习惯于 Visual Studio 自动化的人),但收益非常高。

      一些链接:

      项目地址为:http://www.cmake.org

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-04
        • 2021-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-15
        相关资源
        最近更新 更多