当前位置:网站首页>Libuv的安装及运行使用

Libuv的安装及运行使用

2022-06-24 09:54:00 ufgnix0802

Libuv的安装及运行使用

Libuv的官网链接:http://libuv.org/

GitHub下载链接:https://github.com/libuv/libuv

CMake下载链接:https://cmake.org/download/

以下演示使用VS2022

下载安装

  由于此次演示运行平台为Windows平台,即需要CMake编译为visual studio项目进行编译运行。

  下载后Libuv框架的目录结构如下:

效果图

  紧接着,使用CMake生成visual studio项目。(打开CMake)如下:

效果图
效果图

  以下信息默认安装即可。

效果图

  以下内容无需取消勾选,在BUILD_TESTING和LIBUV_BUILD_TESTS中有最基础的模块,可供学习(即如果已经熟练掌握Libuv框架,可以取消BUILD_TESTING和LIBUV_BUILD_TESTS的勾选)。最后再次点击Configure,然后再点击Generate。如下:

效果图

  最终,可以点击Open Project打开项目(但是需要注意:如果电脑上不仅仅有vs2022,还有其他版本,可能会使用其它版本打开,最好是直接找到build文件目录下的sln文件,鼠标右键使用vs2022打开

效果图

运行使用

  使用vs2022打开界面如下:

效果图

  接下来是项目配置的关键,请各位读着注意。(内容为博主实践所得,仅供参考)

运行uv_run_tests_a项目(生成lib文件)

TIPS:此处也可以尝试直接运行uv_a项目生成uv_a.lib文件(生成的lib文件相同)。

 鼠标右键运行uv_run_tests_a项目,如下:

效果图
效果图

  出现如下结果,表示运行成功。

效果图

  打开文件所在位置,我们会发现不仅仅有exe文件,而且由我们所需要的lib文件,如下:

效果图

  接下来在当前解决方案下新建一个空项目,如下:

效果图
效果图
效果图
效果图

  首先,新建一个.c文件,如下:

效果图
效果图

  然后右键TestDemo01项目,属性配置如下信息:

效果图

TIPS:关于项目的输出目录和中间目录如何配置,可以参考以下链接,这里不过多阐述:https://ufgnix0802.blog.csdn.net/article/details/121366990

输出目录:$(SolutionDir)\$(ProjectName)\bin/$(Platform)\$(Configuration)

中间目录:$(SolutionDir)\$(ProjectName)\temp/$(Platform)\$(Configuration)

  紧接着,配置如下信息:

效果图

TIPS:D:\libuv\include所包含的库是必须要引入的,当然路径方面也可以使用跟输出目录和中间目录相同的配置原理(博主这里不进行演示)。

  还有需要配置的项,如下:

效果图
效果图

需要添加的内容有:

iphlpapi.lib
userenv.lib
psapi.lib
ws2_32.lib
libs\uv_a.lib

效果图

TIPS:注意确定后,务必点击应用,同上述。

  其中,最后一项libs\uv_a.lib,我们需要使用到我们运行uv_run_tests_a项目所生成的lib文件,在当前项目下生成一个libs文件夹,放入以下文件。

效果图
效果图

  最后我们需要引入task.h头文件到当前项目中,如下(该文件可以从libuv/test目录下找寻):

效果图

  复制至TestDemo01项目中,如下(并将task.h添加至TestDemo01项目):

效果图
效果图

运行实践

  将libuv/test目录下的echo-server.c文件的内容复制至main.c中,如下:

效果图
效果图

  最后在main.c中定义main函数,内容如下:

int main()
{
    
    run_helper_tcp4_echo_server();//调用方式一,调用宏函数
    //调用方式二,直接复制宏函数代码
    /* loop = uv_default_loop(); if (tcp4_echo_start(TEST_PORT)) return 1; notify_parent_process(); uv_run(loop, UV_RUN_DEFAULT); */
    return 0;
}

  将该项目设置为启动项目,运行结果如下:

效果图

  生成的文件信息如下:

效果图

  以下为使用sokit工具模拟出来的客户端终端的效果:

效果图

原网站

版权声明
本文为[ufgnix0802]所创,转载请带上原文链接,感谢
https://ufgnix0802.blog.csdn.net/article/details/125435743