如何设置相对 path/How 以使用 $(SolutionDir)
How to set a relative path/How to use $(SolutionDir)
我试图使一个项目无论克隆到哪里都能编译,但我不知道如何写相对于解决方案位置的相对路径,现在看起来是这样
我用 $(SolutionDir) 尝试了一些东西,但我不知道如何从它后退一步并进入库文件夹,如当前绝对路径所示。有人可以解释我应该做什么或举个例子吗?
要从 $(SolutionDir)
退一步,您可以写 $(SolutionDir)\..\
.
你也可以更深入地为你的库创建一个属性 sheet,这样如果你需要在另一个项目中使用这个库,你只需要包含一个.prop
-文件到你的 .vcxproj
.
假设库名称是 cereal
并且 属性 sheet 位于 libraries
,.prop
文件将如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)\cereal\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)\cereal$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>cereal.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
</Project>
然后要在项目中使用它,请将其添加到 .vcxproj
(您也可以为此使用 gui):
<ImportGroup Condition="..." Label="PropertySheets">
...
<Import Project="..\..\..\libraries\cereal.props" />
</ImportGroup>
您还可以使用一些包管理器来大大简化您的生活,即 vcpkg 因为它与 Visual Studio 集成。
我试图使一个项目无论克隆到哪里都能编译,但我不知道如何写相对于解决方案位置的相对路径,现在看起来是这样
我用 $(SolutionDir) 尝试了一些东西,但我不知道如何从它后退一步并进入库文件夹,如当前绝对路径所示。有人可以解释我应该做什么或举个例子吗?
要从 $(SolutionDir)
退一步,您可以写 $(SolutionDir)\..\
.
你也可以更深入地为你的库创建一个属性 sheet,这样如果你需要在另一个项目中使用这个库,你只需要包含一个.prop
-文件到你的 .vcxproj
.
假设库名称是 cereal
并且 属性 sheet 位于 libraries
,.prop
文件将如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)\cereal\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)\cereal$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>cereal.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
</Project>
然后要在项目中使用它,请将其添加到 .vcxproj
(您也可以为此使用 gui):
<ImportGroup Condition="..." Label="PropertySheets">
...
<Import Project="..\..\..\libraries\cereal.props" />
</ImportGroup>
您还可以使用一些包管理器来大大简化您的生活,即 vcpkg 因为它与 Visual Studio 集成。