《CMake 构建实战-项目开发卷》实战分享2— Windows-Linux 搭建环境
<div class='showpostmsg'><div> </div><h1>简介</h1>
<div>演示1:在 Windows 平台搭建 CMake 开发环境,结合 Visual Studio 2022 和 Qt6 的 mingw 编译器。</div>
<div>演示2:在 Linux 平台搭建 CMake 开发环境,结合 GCC 编译器。</div>
<h1>Windows 平台</h1>
<div>特别说明:在 Windows 平台基于 VS Code 编辑器,安装 CMake Tools 工具,开发基于 CMake 的C程序,简直不要太爽。</div>
<ol>
<li><strong>安装软件清单</strong></li>
</ol>
<ol>
<li>CMake</li>
<li>Visual Studio 2022</li>
<li>安装 Qt6.5.2 (选择带有 mingw 编译的版本)</li>
<li>VS Code 并安装插件 CMake Tools 和 CMake 两个插件</li>
<li>ninja 绿色版本 或者 xpack-windows-build-tools-4.3.0-1</li>
</ol>
<div>软件清单中的1/2/3/4 都好理解,也容易安装,从官网下载,一路 NEXT 即可。第5条 ninja 和 xpack-windows-build-tools 会让初学者有点迷,其实这两个都是CMake 支持的生成器。</div>
<div>在命令行输入 cmake --help 就可以列出当前 CMake 版本支持的生成器,如下图所示(这里仅截取了一部分):</div>
<div></div>
<ol>
<li><strong>ninja </strong><br />
下载地址参见 github 官方地址:<br />
<a href="https://github.com/ninja-build/ninja/releases">https://github.com/ninja-build/ninja/releases</a><br />
这个软件是绿色版本,下载解压到磁盘某个目录,然后添加到环境变量 PATH 中。<br />
</li>
<li><strong>xpack-windows-build-tools </strong><br />
其实就是 Windows 版本的 make 工具,可以在Windows 平台处理 Makefile 文件调用 GCC 版本编译器。<br />
官方地址如下<br />
<a href="https://github.com/xpack-dev-tools/windows-build-tools-xpack/releases">https://github.com/xpack-dev-tools/windows-build-tools-xpack/releases</a><br />
这个软件也是绿色版本,下载解压到磁盘某个目录,然后添加到环境变量 PATH 中。<br />
<br />
如下图所示,我已经把 ninja / Qt6 / 和 xpack-windows-build-tools 添加到了 PATH 变量中。<br />
</li>
<li><strong>源代码工程简介</strong><br />
写了一个简单的C语言程序,根据检查编译器版本信息并打印,最后输出一个 hello CMake beginner 字符串。代码如下如下:<br />
<br />
对应的 CMakeLists.txt 非常简单,只有三个命令,如下所示:<br />
</li>
<li><strong>VS Code 中实操</strong></li>
</ol>
<ol>
<li><strong>确保 CMake Tools 在下方状态栏显示</strong><br />
鼠标右键 VS Code 下方的状态栏,然后勾选 CMake Tools (Extension) 确保显示 CMake Tools 工具条。<br />
</li>
<li><strong>选择编译器工具链</strong><br />
如下图所示,先鼠标点击下方的工具链选择按钮,然后 VS Code 在上方弹出工具链列表,这里选择 Qt6.5.2 对应的 GCC 版本编译器。<br />
</li>
<li><strong>自动配置、生成工程</strong><br />
然后 CMake Tools 工具自动根据编译器工具链配置工程并生成工程,如下图所示。<br />
</li>
<li><strong>手动配置、生成工程</strong><br />
按下快捷键 Ctrl+Shift+P 弹出 VS Code 命令窗口,输入 cmake 即可以弹出 CMake Tools 支持的所有命令。<br />
例如 CMake: Configure 配置工程 (会自动生成工程);<br />
CMake: Build 自动构建项目;<br />
CMake: Run Without Debugging 自动运行生成的目标文件<br />
</li>
<li><strong>运行示例</strong></li>
</ol>
<div>当前配置的编译器是Qt6.5.2 的 mingw GCC 编译器,先按照上面的命令 CMake: Build 然后 CMake: Run Without Debugging 结果如下:</div>
<div></div>
<div>修改编译器为 Visual Studio Community 2022 ,再次编译运行,结果如下:</div>
<div></div>
<div>两次运行,结果对比可以看出CMake 管理同一套代码真的很简便,切换编译工具非常简单,只需要指定不同的生成器即可。</div>
<h1>Linux 平台</h1>
<div>安装 CMake 和 GCC 的方法就不赘述了。</div>
<div>这里演示以命令行调用 cmake 配置、生成工程、执行编译。</div>
<div>新建 build/ 目录</div>
<div></div>
<h2>在 build/ 目录中输入 cmake –S .. -B . 开始配置、生成项目</h2>
<div></div>
<h2>输入 cmake --build . 开始编译项目</h2>
<div></div>
<h2>运行结果如下所示:</h2>
<div></div>
<div> </div>
<p><!--importdoc--></p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>学习了,谢谢楼主的实战分享,《CMake 构建实战-项目开发卷》</p>
<p>windows上面vcpkg+cmake挺方便的</p>
<p>感谢分享</p>
页:
[1]