可以使用VC++构建git吗?
基于以上Banthar的评论:
显然git的源代码树中包含的脚本和指令的目录建立与VC++: https://github.com/gitster/git/tree/master/compat/vcbuild
Git的为Windows构建树(msysGit)提供了所有的UNIX需要构建和运行git的实用程序。通常这是使用gcc构建的,因为这是开放的和免费的,但是需要使用MSVC构建git二进制文件所需的兼容性代码。如果启动Visual Studio命令提示符,则从msysGit树中运行msys.bat命令,您将拥有一个bash shell,其中'cl'运行msvc编译器。运行/ bin/msvc-build脚本以使用Microsoft工具链初始化构建树。这克服了兼容性文件的附加回购并设置了config.mak脚本。 之后make MSVC=1
应该足够了。我认为上面的脚本是为免费的Visual Studio Express编译器配置的,但我已经使用VS2010的C编译器构建了一些版本。
总之:使用net-intaller创建一个msysGit构建树,并使用提供的脚本将其重新配置为使用msvc工具链进行构建。
构建的,而'make MSVC = 1'将使用最近的--gui选项的msvc编译器,它生成.sln,生成一个无法在VS2010中编译的项目IDE。 – 2012-04-03 19:25:43
我非常怀疑这是可能的,因为Git依赖于一个POSIX接口和相当多的Linux/Unix库。这就是msysgit被引入的原因,毕竟它包装了所有的依赖关系。不过,我没有提及这个,所以我不打算把它作为答案。 – 2012-01-31 17:52:37
https://github.com/gitster/git/tree/master/compat/vcbuild – 2012-01-31 18:00:50
@NiklasBaumstark:看看http://gnuwin32.sourceforge.net/。他们移植了大量可能具有这种依赖关系的GNU工具。是什么让git在这方面特别? – 2012-01-31 18:03:24