如何在Windows / MSVC上自动查找或构建C库依赖项?

时间:2017-03-10 11:51:43

标签: c visual-c++ build dependency-management pkg-config

我在C中有一个需要libpng,zlib和lcms库的工具。在unix上,我通过pkg-config得到了这些依赖项,但在Windows上我不能依赖它,因此对于构建库的用户来说,手动获取和构建这些依赖项是一件非常麻烦的事。

如何以最原始的Windows本地方式自动获取这些依赖项?我知道MinGW会有所帮助,但这有点像个问题。我想学习如何使用Microsoft工具链。

1 个答案:

答案 0 :(得分:2)

我建议调查Nuget。它很快就成为微软的标准。很多人认为Nuget仅适用于.NET,但它对VC ++也很有用。我在公司设置Nuget服务器以提供头文件和编译库方面取得了很大的成功,而且我已经获得了所有自动构建系统来自动创建这些东西。我不打算详细说明这里的所有细节,但它基本上归结为执行构建,创建MSBuild XML片段以自动设置预编译器和链接选项,然后打包所有这些位(头文件,库) ,XML)以正确的方式。正确完成后,在新项目中使用现有包只需两步即可 - 建立Nuget引用,然后将#includes添加到代码中。您甚至不需要服务器 - 您可以直接从您自己控制的目录中获取服务器。

https://docs.microsoft.com/en-us/nuget/create-packages/native-packages