在Git上使用boost和VS项目

在Git上使用boost和VS项目,git,boost,visual-studio-2012,Git,Boost,Visual Studio 2012,我几乎无法向谷歌输入任何好的请求来找到答案。我有一个Visual Studio(2012)项目,该项目在git上进行了版本控制(该文件的版本为*:vcxproj)。我想在项目中使用Boost库,因此我必须为它设置位置,但这种方式将更改vcxproj,因此其他人必须为他的pc更改它,等等。如何在不从版本控制中删除此文件的情况下解决此问题 *我在这里读到:文件应该是version。这个问题在版本控制场景中经常出现:文件的某些部分取决于本地环境,这些部分不应该处于版本控制之下。有两种主要的方法来解决这

我几乎无法向谷歌输入任何好的请求来找到答案。我有一个Visual Studio(2012)项目,该项目在git上进行了版本控制(该文件的版本为*:vcxproj)。我想在项目中使用Boost库,因此我必须为它设置位置,但这种方式将更改vcxproj,因此其他人必须为他的pc更改它,等等。如何在不从版本控制中删除此文件的情况下解决此问题


*我在这里读到:文件应该是version。

这个问题在版本控制场景中经常出现:文件的某些部分取决于本地环境,这些部分不应该处于版本控制之下。有两种主要的方法来解决这个问题:

  • 假设一个一致的本地环境

  • 仅将文件中独立于本地环境有效的部分置于版本控制之下。创建一个脚本,将依赖于本地环境的部分添加到该文件的未版本副本中

我认为这一问题有三种解决办法:

  • 商定安装Boost的通用位置。这样,“另一个人”就不必修改
    .vcxproj
    文件的副本

  • 请参阅Visual Studio解决方案中使用符号链接的Boost。逻辑与1相同

  • 创建一个复制
    .vcxproj
    文件的脚本,并将Boost引用添加到该副本中。请参阅从
    .sln
    文件复制的
    .vcxproj
    文件,但不要将其添加到Git中--将其添加到
    .gitignore
    。这是处理此类问题最通用的方法,但在实践中也很难处理——实际上,提交对
    .vcxproj
    文件的修改现在需要额外的工作


  • 对于boost,我将其直接添加到我的全局include/libraries路径中。对于这种方法,转到“属性管理器”窗口,然后展开任何C++项目,并选择MySof.cpp.XXX.USER并选择Projts。这将为您提供一个适用于您帐户上该平台的所有项目的项目属性表。在此工作表中,您可以修改VC++目录选项卡以添加适当的路径


    对于不太“全局”的库,我指定一个已知目录来保存属性表,其中包含用于使用特定库的附加编译器设置。它们将保存include和library路径,但也可以具有其他设置,如定义和链接器输入。我个人使用“C:\SDKs”作为指定目录。所以我可能会有类似于“C:\SDKs\DirectX11-x86.props”的东西。这种方法最大限度地减少了需要硬编码的内容,并允许更多的选项,而不仅仅是包含/库路径。一个警告:您必须确保路径是绝对的,visual studio喜欢将它们设置为相对路径。

    一个选项是在代码树中包含boost,这样就不会对安装在机器上的boost产生外部依赖,这也会降低设置开发机器的要求

    由于boost是开源的,并且可以在GitHub()上使用,所以您应该能够在使用中映射它

    另一个选择是使用