代码之家  ›  专栏  ›  技术社区  ›  Tim

如何将具有不同名称的依赖VCproj文件中的构建配置关联起来?

  •  0
  • Tim  · 技术社区  · 14 年前

    我有一个解决方案文件,需要第三方库(开源)。包含的解决方案使用典型的配置名称“debug”和“release”。

    第三方拥有DLL和静态库的调试和发布配置-它们的名称不是“debug”和“release”。

    如何告诉解决方案首先构建依赖关系,以及如何将哪个配置与依赖配置相关联?

    也就是说, MyProject:Debug 应该构建 3rdParty:debug_shared 3rdParty:debug_static .

    更新:

    我不想从一个关联到多个。我只想挑一个,坚持下去。所以在我的例子中,我将把主项目中的调试与 3rdParty:shared_debug .

    我该怎么做?

    当我说构建用于调试的解决方案时,我也希望构建第三方的东西。

    2 回复  |  直到 13 年前
        1
  •  1
  •   adf88    14 年前

    在IDE中有“配置管理器”,您可以将项目配置与解决方案配置相结合。此外,还有“构建依赖项”工具来选择应首先编译哪个项目。

        2
  •  1
  •   Peter Mortensen rohan kamat    13 年前

    我认为在构建不同的项目配置之间进行单一解决方案配置切换不是一个简单的方法;如果我理解正确,您需要

    mySolution:debug -> myProject:debug, 3rdParty:debug_shared, ...
    

    在另一个时间点

    mySolution:debug -> myProject:debug, 3rdParty:debug_static, ...
    

    每次构建解决方案时,您都可以手动甚至通过宏更改其构建配置,但这不是有点乏味吗?

    如果您遵循Visual Studio的方法,您将创建额外的解决方案配置,并在构建配置管理器中更改设置,使它们与第三部分的配置相匹配。

    mySolution:debug_shared -> myProject:debug, 3rdParty:debug_shared, ...
    mySolution:debug_static -> myProject:debug, 3rdParty:debug_static, ...
    

    这不会以任何方式改变您自己项目的配置,而且在它们之间切换相对容易。

    编辑 :如果您的项目依赖于此第三方库,那么它是否还需要两种配置?假设您的项目想要使用第三方静态库,那么链接器需要知道它的名称和路径。另一方面,如果要使用DLL,链接器需要知道另一个名称/路径。在没有两种配置的情况下,如何在这两种配置之间进行切换?在某个时刻,你必须指示链接器使用哪个库,所以你最终会得到如下的结果

    mySolution:debug_shared -> myProject:debug_using_shared_3rdparty, 3rdParty:debug_shared, ...
    mySolution:debug_static -> myProject:debug_using_static_3rdparty, 3rdParty:debug_static, ...