对于习惯了 Visual Studio 强大的管理项目、编码和调试功能的读者来说,在 Linux 下使用 gcc/g++ 编译、使用 gdb 调试是一件何其痛苦的事情,对于大多数的开源 C/C++ 项目,如果我们不在意 Windows 和 Linux 在一些底层 API 接口上的使用差别,想熟悉该项目的执行脉络和原理,在 Windows 上使用 Visual Studio 调试该项目也未尝不可。
凡是可以使用 CMake 工具编译的 Linux 程序(即提供了 CMakeLists.txt 文件),我们同样也可以利用 CMake 工具生成 Windows 上的 Visual Studio 工程文件。前提是这个项目支持 Windows 平台,且 CMakeLists.txt 里面有支持 Windows 平台的指令。
这里我们以著名的开源网络库 libuv (node.js 背后的 WebServer 实现)为例。
从 libuv 的官方地址提供的下载链接:Index of dist 下载最新的 libuv 的源码得到文件 libuv-v1.31.0.tar.gz(笔者写作此书时,libuv 最新版本是 1.31.0),解压该文件。在我的机器上,我解压至 F:\mycode\libuv-v1.31.0\ ,解压后的目录中确实存在一个 CMakeLists.txt 文件,如下图所示: