文档章节

OSX 系统中配置libuv

掬一捧
 掬一捧
发布于 2014/10/23 10:49
字数 280
阅读 900
收藏 2

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

相关链接

© 著作权归作者所有

下一篇: JavaScript函数
掬一捧
粉丝 15
博文 42
码字总数 29899
作品 0
厦门
程序员
私信 提问
加载中

评论(1)

Klingon
Klingon
如果用cmake,可以试下这个set(CMAKE_C_FLAGS "-luv")
Mac OSX操作系统安装和配置Zend Server 6教程(1)

作为web开发人员,应该熟悉掌握各种系统下安装和配置web服务器与站点的技术。 随着越来越多的开发人员选择Zend Server服务器,慧都推出了在Mac OSX系统安装和配置Zend Server 6教程,此教程将...

kouxunli1
2013/10/15
0
0
高手问答第 168 期 —— macOS 软件安全与逆向分析

OSCHINA 本期高手问答(2017 年 8 月 30 日 — 9 月 5 日)我们请来了非虫老师 @fei_cong 为大家解答 macOS 系统中安全方面的问题。 丰生强,网名非虫,独立软件安全研究员,资深安全专家,I...

局长
2017/08/29
2.6K
54
Lynis 2.4.0 发布,Linux 系统审计工具

Lynis 2.4.0 发布了,该版本更新内容较多,具体如下: New: New group "system integrity" added Support for clamconf utility Chinese translation (language=cn) New command "upload-onl......

局长
2016/11/06
1K
3
OSX malware and exploit collection (~100 files) + links and resources for OSX malware analysis

此文为关于MAC OSX系统的所有攻击脚本和溢出代码的收藏集。附带资源链接和相关讲解文档~mark下 'Tis the season. Here is a nice collection of ~100 Mac OS malware and Word document expl...

Cnlouds
2013/11/26
0
2
历经11个测试版,苹果 macOS Mojave 正式版发布

苹果今天发布了 macOS Mojave 正式版,Mojave 一共经历了 11 个测试版。Mac 用户可以免费下载和安装 Mojave。下载地址 >>> https://itunes.apple.com/us/app/macos-mojave/id1398502828?mt=1......

局长
2018/09/25
9.4K
51

没有更多内容

加载失败,请刷新页面

加载更多

0.01-Win10安装linux子系统

一、安装Debian子系统 -1、控制面板设置: -1.1、打开“控制面板” —— “程序” —— “启用或关闭Windows功能” —— 勾选 “适用于Linux的Windows子系统” -2、设置: -2.1、打开“设置”...

静以修身2025
昨天
2
0
init 0-6 (启动级别:init 0,1,2,3,4,5,6)

启动级别: init 0,1,2,3,4,5,6 这是个很久的知识点了,只是自己一直都迷迷糊糊的,今天在翻出来好好理解下。。 0: 停机 1:单用户形式,只root进行维护 2:多用户,不能使用net file system...

圣洁之子
昨天
2
0
Android Camera HAL浅析

1、Camera成像原理介绍 Camera工作流程图 Camera的成像原理可以简单概括如下: 景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转...

天王盖地虎626
昨天
2
0
聊聊Elasticsearch的ProcessProbe

序 本文主要研究一下Elasticsearch的ProcessProbe ProcessProbe elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/process/ProcessProbe.java public class ProcessProb......

go4it
昨天
3
0
mysql PL(procedure language)流程控制语句

在MySQL中,常见的过程式SQL语句可以用在存储体中。其中包括IF语句、CASE语句、LOOP语句、WHILE语句、ITERATE语句和LEAVE语句,它们可以进行流程控制。 IF语句相当于Java中的if()...else if(...

edison_kwok
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部