使用VS CODE测试nr_micro_shell

上篇说到使用dev-c++来编译nr_micro_shell,整体还是很方便的,不要写任何命令和文件就能完成编译,但是dev-c++这个工具并不是很好用,今天使用VS CODE 加 Cmake来完成编译,

1准备条件

         安装 VS code  Visual Studio Code - Code Editing. Redefined

         在vs code中安装 cmake,这两个都要安装

        安装minGW  Downloads - MinGW-w64  这个就是编译器部分了,前面的都是编译功能,minGW安装好记得配置环境变量。

看到这里是不是觉得还是DEV -C++ IDE比较香,什么都不用配置,对于多文件,多文件夹的工程,我们必须要使用makefile或cmake来帮忙,单纯用gcc编译器是很累的。

 环境都搭建好之后,我们新建一个文件夹,使用vs code打开,里面手动添加main.c和CMakeLists.txt

main.c 和上篇保持基本一样

#include <stdio.h>
#include <stdlib.h>
#include "micro_shell/inc/nr_micro_shell.h"
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) 
{
	
	printf("hello\r\n");
	 /* 初始化 */
    shell_init();

    while(1)
    {
    	char c =getchar();
        
        {
            /* nr_micro_shell接收字符 */
            shell(c);
        }
    }
	
	
	return 0;
	
}

 CMakeLists.txt 

project(Main)
#设置c++编译器
set(CMAKE_CXX_COMPILER "gcc")
#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/micro_shell/inc)
add_subdirectory(micro_shell)                          
add_executable(Main main.c)
target_link_libraries(Main micro_shell)

然后我们把上篇准备的那个micro_sheel文件夹放到工程里面,

 最后我们在micro_shell里面添加CMakeLists.txt

  CMakeLists.txt   生成一个micro_shell 静态库文件

#cmake_minimum_required(VERSION 2.8)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc)
add_library(micro_shell STATIC
  ./src/ansi.c
  ./src/ansi_port.c
  ./src/nr_micro_shell.c
  ./examples/nr_micro_shell_commands.c
)

 编译

         前面搞了一堆操作,终于可以编译了....

vs code 点击 运行->启动调试->选择我们安装的minGW,前提是设置过环境变量。报错的话不用管。

点击状态栏的编译和运行就可以编译通过了。

可以看到cmake给我生成了很多文件,都放到了build目录下面

也生成了我们想要的库文件,理论上这个文件可以用在win平台的其它程序中,只需要重新连接一下即可

 

使用vs code吧,怎么说呢,说实话还是挺麻烦了,需要自己安装不少东西, 也需要了解一些cmake的知识。不过这样也可以让我们了解一下编译的一些流程,不像ide那样,什么都看不到,都是各有利弊吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值