OSX 系统中配置libuv

OSX 系统中配置libuv

最近在研究Node的源码,涉及到(libuv)[]。我打算将libuv library编译到自己的OS X系统中。

下载源码

git clone https://github.com/joyent/libuv

通过autotools编译

安装autotools
$ brew install autoconf
$ brew install automake
$ brew install libtool
编译
$ sh autogen.sh
$ ./configure
$ make
$ make check
$ make install

执行make check时会出现部分报错,可以直接忽视。

运行demo

测试编译是否成功,可以通过如下小程序进行测试。

#include <stdio.h>
#include <uv.h>
int main() {
    uv_loop_t *loop = uv_loop_new();
    printf(“Now quitting.\n”);
    uv_run(loop, UV_RUN_DEFAULT);
    return 0;
}

执行gcc ./main.cc命令会报如下错误:

Undefined symbols for architecture x86_64:
    “_uv_loop_new”, referenced from:
    _main in main-66f6f5.o
    “_uv_run”, referenced from:
    _main in main-66f6f5.o
ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

相关信息可以参考libraries-to-compile-libuv-on-os-x。 使用gcc -o app main.cc /usr/local/lib/libuv.a -framework CoreFoundation -framework CoreServices即可获取执行结果。 为了方便日后学习,写了个快捷脚本。

#!/bin/bash

if [[ “$1”==”” ]];
    then CMD=”gcc -o app “$1” /usr/local/lib/libuv.a -framework CoreFoundation -framework CoreServices”;
    echo $CMD;
    $CMD;
fi

相关链接

转载于:https://my.oschina.net/sunshinedabby/blog/336460

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值