假设我有一个跨平台的C++库,让我们称它为ylib。我的主要开发平台是Linux。我希望ylib可以由MSVC构建(2008,2010,11等)。
做这件事最好的方法是什么?我要生成.vcproj文件吗?如果是这样的话,是怎么做的?理想情况下,我可以在不使用Windows的情况下生成它们。Windows不应该需要额外的依赖项。应该构建多个变体:调试dll、调试库、发布dll、具有动态运行时的发行库和具有静态运行时的发行库。
发布于 2012-03-15 00:18:08
您可以为您的构建脚本使用cmake。Cmake能够从cmake生成脚本生成visual studio项目文件。所以你只需要分发你的cmake文件,然后使用windows的个人就可以从中生成MSVC项目文件。
尽管如评论中所指出的,如果不亲自尝试的话,很难保证你可以在visual studio下构建你的项目。
编辑:虽然我刚刚意识到你没有要求linux上的额外依赖,这是解决不了的。除非您自己使用cmake生成并分发了vcproj文件。但就我个人而言,我认为只有cmake依赖会更好。它是免费提供的,并且很容易安装。
这还具有支持您的最终用户恰好具有的visual studio版本的优势,而不需要分发几种不同的格式。
发布于 2012-03-15 00:18:23
您只需要了解vcproj文件的格式,然后编写它们-它们只是XML。
我不知道MSFT如何很好地记录这些设置(如果历史是一个指南的话,就不是很好了)-所以对于简单的项目,我只会在MSVC中创建一个项目,然后看看它写了什么。
或者,您可以只使用cmake,它已经可以做到这一点。
https://stackoverflow.com/questions/9705667
复制相似问题