Vcpkg更新:静态链接现在可用

一个月前,我们 宣布推出Vcpkg 一个命令行工具,可以轻松地获取和构建开源C++ LIB并在Visual Studio 2015中使用它。初始版本只提供动态链接库,但我们听到了您的反馈, 我们很高兴宣布 Vcpkg的静态链接支持 .

null

要生成静态库,请使用以下三元组之一:x86 windows static或x64 windows static

例如,要静态构建zlib以供x86使用:

vcpkg install zlib:x86-windows-static

库将安装在以下文件夹中: vcpkginstalledx86 windows静态

使用静态库

11/4更新: 澄清/MT用法 并指导如何覆盖三胞胎的自动检测

我们目前部署了一组内置的三元组,它们将针对静态CRT(visualstudio中的/MT)构建静态库:x86windows static、x64windows static等。

在Visual Studio中, 可以使用MSBuild属性“VcpkgTriplet”和“VcpkgEnabled”重写自动检测到的三元组(默认为DLL)。对于更大的解决方案, 属性表 是管理这些设置的好方法例子:

 <PropertyGroup Label="Globals"> <!-- .... --> <VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet> <VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet></PropertyGroup>

在CMake中 ,您可以使用“-DVCPKGu TARGETu triplet=x86 windows static”和常规工具链参数重写自动检测到的DLL三元组。例如:

cmake .. -DCMAKE_TOOLCHAIN_FILE=.../vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-windows-static

再次注意,*-windows静态三元组中的所有库都与静态CRT(/MT或/MTd)链接,因此您需要更改CMAKEucxxu标志(请参阅 http://stackoverflow.com/questions/14172856/cmake-compile-with-mt-instead-of-md ).

社区贡献

我们真的很想感谢社区。我们从目录中的20个库开始,社区又贡献了60多个库, 总共有90多个图书馆[ 请参见此处的完整列表 ] 节奏是惊人的几乎一个新的图书馆被添加每天:你们真的摇滚!我们收集了非常好的反馈,许多有趣的建议,以及许多添加更多库的请求。感谢您的每一个贡献和评论,这就是我们希望这个项目成功的方式:成为一个真正的社区驱动的努力。

如果您需要一个特定的库,请创建一个问题,确定您想要的库,不要犹豫,要精确到所要求的版本,源位置…要查看到目前为止所要求的库的列表,请参阅 标有“新端口请求”的问题列表 ”. 一旦创建了问题,社区就可以启动您的ask并创建正确的端口文件。或者,如果您已经熟悉构建库,请使用端口文件和相关修补程序文件(如果需要)发出请求。

我们已经更新了文件

我们改进了端口文件创建主题,请参见中的示例#2“打包远程项目” 示例.md 和一个 补丁文件示例 以帮助您更轻松地创建和维护端口文件集合。

与静态链接,我们现在已经达到了一个重要的里程碑,我们目前正在规划我们的路线图的下一个里程碑,这是正确的时间来分享您的建议和希望这个项目。在GitHub上创建问题[ https://github.com/Microsoft/vcpkg ]参与谈话。

回头见,如有任何问题,请联系我们 vcpkg@microsoft.com

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享