文章标题 原创 翻译 转载 文章内容 使用visual studio IDE经常要进行一些工程属性的配置,通常是引入第三方库。如果库比较多的话每次建新工程都要配置一下比较麻烦,.props文件可以帮助我们把一些固定的配置写好,下次使用的时候直接import到vcxproj文件中就可以了。.props中的配置相当于vcxproj配置中的一部分,一般是共有部分才提出来。 # props文件内容 props文件内容如下: ``` <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ImportGroup Label="PropertySheets"> </ImportGroup> <PropertyGroup Label="UserMacros"> <BOOSTDIR>$(SolutionDir)asio\third\boost\</BOOSTDIR> <PROTOBUFDIR>$(SolutionDir)asio\third\protobuf\</PROTOBUFDIR> <GLOGDIR>$(SolutionDir)asio\third\glog\</GLOGDIR> <ZLIBDIR>$(SolutionDir)asio\third\zlib\</ZLIBDIR> </PropertyGroup> <PropertyGroup> <IncludePath>$(WindowsSDK_IncludePath);$(VC_IncludePath);$(SolutionDir);$(BOOSTDIR)include;$(PROTOBUFDIR)include;$(GLOGDIR)include;$(ZLIBDIR)include</IncludePath> <LibraryPath>$(WindowsSDK_LibraryPath_x86);$(VC_LibraryPath_x86);$(BOOSTDIR)lib;$(PROTOBUFDIR)lib;$(GLOGDIR)lib;$(ZLIBDIR)lib</LibraryPath> </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <Link> <AdditionalDependencies>libboost_system-vc120-mt-gd-1_65_1.lib;libprotobufd.lib;glogd.lib;zlibstatic.lib</AdditionalDependencies> </Link> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <Link> <AdditionalDependencies>libboost_system-vc120-mt-gd-1_65_1.lib;libprotobufd.lib;glogd.lib;zlibstatic.lib</AdditionalDependencies> </Link> </ItemDefinitionGroup> <ItemGroup> </ItemGroup> </Project> ``` 从上到下很容易看出来大致内容: * 库目录宏定义 * 库头文件目录,库lib文件目录 * 依赖的第三方库 最后ItemGroup用法如下,这里暂时用不到: ``` <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> <Configuration>Debug</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Release|Win32"> <Configuration>Release</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> </ItemGroup> ``` # 导入props到vcxproj文件中 如我的props文件名为:asio.props,将其放在sln文件所在目录。 用记事本打开vcxproj文件,参考Microsoft.Cpp.props导入方式,如下: ``` <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(SolutionDir)asio.props"/> ``` 文章类别 Python Mobile Android Java Shell Life Database Bug Windows IOS Tools Boost Node.js Mac Product Tips C/C++ Golang Javascript React Qt MQ MongoDB Design Web Linux LLM ChatGPT RAG AI 提交