如何准备代码库以在Windows和基于Unix的系统上进行编译

Max*_*Max 2 c++ cross-platform build

我想知道不同的解决方案,轻松编译我的跨平台应用程序的Windows和unix.

现在我使用Ubuntu的一个makefile,但我的代码库变大之前,我想执行必要的编译它在Windows上的步骤,然后继续这样做有规律地看到,它仍然有效.

我最好不要用多个"makefile"解决方案污染我的SVN代码库,比如VC++解决方案等,我想要一种更自动的方式.我尝试使用mingw和make for windows,但似乎我的secondexpansion awesomeness在Windows版本(或类似的东西)上不起作用.它不会编译,也抱怨_winNT或类似的东西没有被定义.

我应该如何准备我的代码库以进行跨平台轻松编译?像buildtools这样的东西,也许是从makefile自动生成VS文件,或类似的东西.也许在stdinc文件中有一些预处理器魔术?

谢谢!

Sir*_*ius 6

我将指向CMake,它由高端项目使用,例如MySQL,KDE或Compiz.

它能够为目标系统生成本机构建文件,例如基于Unix的Makefiles平台,以及Windows的Visual C++项目和解决方案文件.

为了处理平台差异,我邀请您查看我之前关于此主题的帖子:C++:平台相关类型 - 最佳模式