2013-02-25 620 views
16

我有几个makefile来为我构建特定的库。 为了方便,我现在需要将它们转换为VS项目。我只是通过使用VS提供的makefile向导来找到将VS项目转换为makefile的方法。 另外,我确实发现VS6中包含了该功能,可将makefile转换为VS项目。但是对于更高版本,此功能已被删除。另外,我意识到msdn网站上不再提供VS6下载。将makefile转换为VS项目

是否有任何其他方式将makefile转换为Visual Studio项目? 或 我可以从某处获得VS6吗?

+1

我面临同样的问题。当时我没有找到解决办法。无论如何,我有一个不同的想法:你有没有尝试写一个cmake文件? Cmake应该能够创建一个VS解决方案文件。也许你发现一个转换器从make到cmake? – ChaosCakeCoder 2013-02-25 06:45:12

回答

8

这里唯一真正的选择是手动进行转换(或使用Makefile项目向导)。你说你有一些'makefile,不知道这是多少,但除非你谈论的是> 10左右,否则手动创建Visual Studio项目并没有太多的工作。毕竟,你所做的只是创建一个新的dll项目并向其中添加源文件。默认的编译器/链接器标志几乎不需要任何调整。哦,如果你调整了它们,一定要在属性表中做这些改变,而不是在项目本身中进行:属性表可以被其他项目重用,这是DRY原理的一个简单问题。

为什么这是唯一真正的选择?首先,没有任何工具可以可靠地将任意makefile转换为VS项目,因为makefiles可以是任何你想要的格式,而且它们的很多功能在VS项目中都没有对应部分。其次,VS6在这个日期大约15岁,所以即使你在机器上运行它,它产生的输出仍然是古老的,绝对不是你想要用于你的项目。

1

This CodeProject article: Automatically Translate makefile C/C++ Project for Visual Studio 为VS 2013 C/C++项目提供了一个基本的解决方案。

[PS:不是我的文章,但它至少解决了VS6问题的主要部分。 ]

这是一个简单的脚本,因此充满了失败的假设和机会。但是,如果您的项目符合其意图领域,则它可以为您提供一个可行的起点。

您仍然需要:

  • 包括没有明显的C/C++文件
  • 调整任何项目选项
  • 调整任何编译器选项
  • 添加链接时相关文件

如果物品g OES了......这是一个VBS脚本:

  • 扫描目录对于具有属于VS组
  • 复发成子目录寻找更多的文件称为扩展名的文件。
  • 创建.vcxproj和.vcxproj.filters文件
  • 将找到的文件添加到.vcxproj和.vcxproj。过滤器文件

所以,如果你有嵌套项目(可能的),你将需要调整脚本的递归步骤是如何工作的。

祝你好运。