这篇文章主要讲解了Windows怎么配置VSCode + CMake +忍者+提振。测试的c++开发环境,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
平时习惯了在Linux环境写c++,有时候切换到Windows想继续在同一个项目上工作,重新配置环境总是很麻烦。虽然Windows下用Visual Studio写c++只需要双击个图标,但我还是想折腾一下VS代码的环境配置。原因主要有两点:一是个人习惯上各种语言都在VS代码里面写,利用Git同步代码可以很方便地在不同平台开发同一个项目;二是有些情形下无法使用图形化界面,比如为Git配置CI(持续性集成)时显然不能用Visual Studio这个图形化的IDE来执行Windows环境的测试。
本文涉及的环境和工具版本:
- <李>窗口10 李> <李> VS代码1.45.0李> <李> C/c++ (ms-vscode.cpptools)插件0.28.0.insider3李> <李> CMake (twxs.cmake)插件0.0.17李> <李> CMake工具(ms-vscode.cmake-tools)插件1.3.1李> <李> Visual Studio IntelliCode (visualstudioexptteam.vscodeintellicode)插件1.2.7 李> <李>编写Visual Studio社区2019(需要调用VS提供的MSVC编译工具,以及相应的头文件和库文件)李> <李> CMake 3.17.2李> <李>忍者1.10.0李> <李>提高1.73.0 李>
1创建c++项目
2安装Visual Studio
3安装CMake和忍者
4下载和编译提高
4.1命令提示符的使用
4.2编译提高
5命令行编译和测试
6配置VS代码
6.1 settings.json
6.2 c_cpp_properties.json
6.3 tasks.json
6.4 launch.json
6.5 CMakeLists.txt
6.6编译,测试和调试
VSCode及插件的安装过程本文暂不介绍,这里直接给出项目的文件结构和代码。
项目结构如下。<代码>。vscode 代码>文件夹里面的3个json文件用来配置VS代码,第二个文件夹里面包含对LeetCode某一个问题的解答(<代码>解决方案。hpp 代码>和<代码>解决方案。cpp> 代码),<代码> solution_test。cpp> 代码用来执行单元测试。最下面的<代码> CMakeLists。txt 代码>文件用来配置CMake,给出项目的编译规则。
这里先给出c++部分的代码,其他文件的内容会在后面给出。
解决方案。hpp
的ifndef SOLUTION_HEADER #定义SOLUTION_HEADER # include & lt; iostream> # include & lt; vector> # include & lt; unordered_set> 使用名称空间性病; {类解决方案 公众: vector十字路口(vector 和nums1 vector 和;nums2); }; # endif solution.cpp # include“solution.hpp" 静态汽车x=[] () {//关闭同步 ios std:::: sync_with_stdio(假);//解开/流 cin.tie(空); 返回0; }(); vector 解决方案::十字路口(vector 和nums1 vector 和;nums2) { 如果(nums1.size()在nums2.size ()) 交换(nums1 nums2); unordered_set (nums1.begin (), nums1.end ()), C; (auto&我:nums2) { 如果(A.find (i) !=A.end ()) C.insert(我); } 返回vector (C.begin (), C.end ()); }
解决方案。cpp
# include“solution.hpp" 静态汽车x=[] () {//关闭同步 ios std:::: sync_with_stdio(假);//解开/流 cin.tie(空); 返回0; }(); vector解决方案::十字路口(vector 和nums1 vector 和;nums2) { 如果(nums1.size()在nums2.size ()) 交换(nums1 nums2); unordered_set (nums1.begin (), nums1.end ()), C; (auto&我:nums2) { 如果(A.find (i) !=A.end ()) C.insert(我); } 返回vector (C.begin (), C.end ()); }
solution_test。cpp
# define BOOST_TEST_MODULE SolutionTest # include“solution.hpp" # include & lt;提高/测试/unit_test.hpp> BOOST_AUTO_TEST_SUITE (SolutionSuite) BOOST_AUTO_TEST_CASE (PlainTest1) { vectornums1 {1、2、2、1}; vector nums2 {2,}; vector 结果=解决方案().intersection (nums1 nums2); vector 预期的{2}; sort (results.begin (), results.end ()); sort (expected.begin (), expected.end ()); results.end BOOST_CHECK_EQUAL_COLLECTIONS (results.begin () (), expected.begin (), expected.end ()); } BOOST_AUTO_TEST_CASE (PlainTest2) { vector nums1{4, 9日,5}; vector nums2 {9, 4、9、8、4}; vector Windows怎么配置VSCode + CMake +忍者+ Boost.Test的c++开发环境