使用gyp build libuv中遇到的坑及解决方法
最近在做计算机网络实践(实现DNS中继服务器)的时候,老师(甲方)要求必须使用C语言完成,我队友在一番调研之后决定使用libuv库,来实现异步的并发处理。
这里总结一下在macos上配置libuv库中遇到的各种坑,并总结解决方法。
两种不同的build方法
这里libuv_github是libuv这个库的官方仓库。其实解释的还是很详细的。这里主要介绍原文中“Build Instructions”部分中的使用autotools和使用GYP的两种方法,并比较其利弊:
- 使用autotools
我个人认为使用autotools是一种很简单实用的方法。
这里有已经有比较完整的讲解了。
这样的化就可以在一些简单的文本编辑器向vscode上使用libuv了。
#include <uv.h>
然而,如果需要编写比较上规模的大型应用,最好还是使用xcode这种成熟的IDE。
这就需要我们使用GYP先生成libuv的Xcode的backend,我们下面介绍这种方法。