将makefile转换为VS项目

时间:2013-02-25 06:38:11

标签: visual-studio makefile

我有一些makefile可以为我构建某些库。 为了方便起见,我现在需要将它们转换为VS项目。我用谷歌搜索只是为了找到在VS提供的makefile向导的帮助下将VS项目转换为makefile的方法。 此外,我确实发现VS6中包含此功能可将makefile转换为VS项目。但是此功能已被删除以用于更高版本。此外,我意识到msdn网站上不再提供VS6下载。

有没有其他方法可以将makefile转换为visual studio项目? 要么 我能从某个地方拿到VS6吗?

2 个答案:

答案 0 :(得分:9)

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

为什么这是唯一真正的选择?首先,没有任何工具能够可靠地将任意makefile转换为VS项目,因为makefile可以是您想要的任何格式,并且它们的许多功能在VS项目中根本没有对应物。其次,VS6在这个约15年的时间,所以即使你让它在你的机器上运行,它产生的输出仍然很古老,绝对不是你想要用于你的项目。

答案 1 :(得分:3)

此CodeProject文章: Automatically Translate makefile C/C++ Project for Visual Studio 提供了针对VS 2013 C / C ++项目的基本解决方案。

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

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

您仍然需要:

  • 包含显然不是C / C ++文件的文件
  • 调整任何项目选项
  • 调整任何编译器选项
  • 添加链接时间依赖项

如果该文章消失了......它是一个VBS脚本:

  • 扫描目录以查找具有属于已知VS组的扩展名的文件
  • 重新进入子目录,寻找更多文件。
  • 创建.vcxproj和.vcxproj.filters文件
  • 将找到的文件添加到.vcxproj和.vcxproj.filters文件

因此,如果您有嵌套项目(可能),您需要调整脚本在递归步骤中的工作方式。

祝你好运。