1

我正在尝试在一个项目中使用我们的 libuv。我的第一步只是在计算机上安装 libuv 并准备好使用。我使用的是 Mac OS X 版本 10.6.8。我下载了 zip 文件并将其解压缩。他们网站上的说明只是说使用 make 命令来构建库。当我这样做时,它会创建 libuv.a 文件。我在代码文件中有#include。事实上,此时我只是试图编译和运行他们介绍文件中提供的示例程序。http://nikhilm.github.com/uvbook/basics.html。在朋友的帮助下,我终于发现如果我运行 make run-test 它将创建 libuv.dylib,然后只要我设置 LD_LIBRARY_PATH=../deps/libuv-master ./testEventLoop,程序就会编译并运行。

我已经制作了 3.81 版。我的项目位于一个名为 echo 的文件夹中,该文件夹有两个目录 deps 和 src。提取的 libuv 文件,包括它们的所有子文件都在 deps 中。test.c 文件和我的 make 文件位于 src 文件夹中。

这是我第一次使用第三方库,似乎我在碰壁。我已经查看了我在网上可以找到的关于使用第三方库和特别是 libuv 的所有内容。包括但不限于通过 GNU make 说明http://www.gnu.org/software/make/manual/make.html#Overview来尝试理解 libuv 的 makefile 以及来自其他几个项目的 make 文件使用 libuv 的网站。

这些项目是如此之大,以至于我很难挖掘出这件小事。必须有其他人需要第三方图书馆的帮助。我觉得我已经很接近了,但只是没有得到什么,就像我错过了一些让它以应有的方式工作的小块。

如果我遗漏了我应该包含的任何信息,请告诉我,我将编辑问题。

4

1 回答 1

0

我能够通过更改 make 文件来安装库。我需要同时安装 libuv.a 和 libuv.dylib 文件(尽管我仍然不确定为什么)并且我必须在同一规则中有两个目标的 makefile 中拆分目标。因为他们会为 libuv.a 或 libuv.dylib 创建先决条件,但不能同时为两者。通过将规则分成两个规则,一个是我需要的每个文件的先决条件,然后添加一个 all 目标,它同时具有 libuv.a 和 libuv.dylib 作为先决条件。

于 2013-03-21T18:55:16.530 回答