Visual Studio 2017 和 git 版本控制项目中的机器相关库路径

Machine dependent library paths in version controlled project in Visual Studio 2017 and git

我对 Visual Studio 和 git 还很陌生,所以请多多包涵!

我正在使用 VS2017 C++ 进行 Windows 开发,我有 2 台机器,一台台式电脑是我的主要设备,一台笔记本电脑是我在旅行时使用的。我在主 PC 上创建了一个 VS 解决方案并将其推送到一个新的 git 存储库。我正在使用安装在标有 F:.

的驱动器上的 SDL 库

我已经将存储库克隆到我的笔记本电脑上,但是 SDL 库位于 D: 驱动器上(没有 F: 驱动器)所以我必须编辑属性才能找到它图书馆。问题是因为项目文件是版本控制的,当它被推回 GitHub 然后拉回我的主机时,路径又是错误的,我必须编辑属性。这显然不是一个好的解决方案。

我能想到的唯一解决方法是将库安装在两台机器上都存在的 C: 驱动器中,但我不确定是否有更多 'elegant' 方法这样做。

如有任何建议,我们将不胜感激。

您在解决问题方面走在了正确的轨道上,我认为只需再使用一个工具,您就可以让它正常工作!

如果您有库文件,一个常见的解决方案是使用环境变量,以便能够在不同的系统上拥有不同的路径,而无需更改您的解决方案文件。如果您打开开始菜单并搜索 "Edit environment variables for your account",您应该能够打开一个 window,您可以在其中添加环境变量。您可以在此处单击 "New...",并添加一个带有名称的变量,例如 SDL_LIBRARY 以及此库所在位置的路径。在你的另一台机器上,你添加了一个同名的变量 SDL_LIBRARY,但是在这台机器上有库的路径。

在您的 visual studio 项目中,您可以使用环境变量 SDL_LIBRARY,如 here in the documentation 所述。例如,您可以将 "Additional Library Directories" 行添加到 C++ 项目,内容为:

$(SDL_LIBRARY)\libs

或 "Additional include directories":

$(SDL_LIBRARY)\include

然后您的项目文件应该能够在您的两台机器上工作。