在之前的文章里,我们已经了解了 n2n 的用法,那么这次主要讨论的是其二进制文件的编译。n2n 有两个版本,这里使用的是较新的 v2 版。
项目地址
由于项目已停止维护,我就只能 GitHub 上找了一个留存的 fork 版本。meyerd/n2n
依赖库
- 项目依赖 OpenSSL,官网在这里。
- 编译时需要各种命令行常用的开发工具,在后面的步骤会我会按照平台分别提到。
编译步骤
Windows
- 下载并安装 CMake、C / C++ 编译环境(这里用的是 MinGW)。
- 下载项目源码并解压。
- 运行 CMake,选择项目文件夹和 build 文件夹。
- 在 build 里生成二进制文件,VS 是打开工程;MinGW 是运行 mingw32-make。
Linux 和 macOS
- 从 GitHub 获取项目并进入项目文件夹:
|
|
- 新建 build 文件夹,用来存放编译出来的文件:
|
|
安装支持库,需要的主要用 C 和 C++ 编译器、CMake、OpenSSL。
- Linux 平台
– Debian 系(包括 Ubuntu 等)
|
|
-- Red Hat 系(包括 CentOS 等)
|
|
如果需要其他的组件请根据编译时的报错信息自行安装。
* macOS 平台
至少需要 Xcode Command Line Tools。可以直接从 App Store 下载 Xcode,或者在终端里运行 `xcode-select --install`。然后安装 [Homebrew](https://brew.sh),并用其安装 CMake 和 OpenSSL:
|
|
- 进行 CMake 设置,编译并安装:
|
|
如果报错的话,请参照后面的问题诊断。
问题诊断
一般来说,Linux 下按照步骤的话都能一次成功;macOS 下可能会有小问题。
找不到 OpenSSL 的支持库
这是我遇到过的,解决办法就是手动把 OpenSSL 的 include 链接上。
|
|
man 的安装有权限问题
这是 macOS 的 SIP 策略导致的,不会对实际使用造成影响,就忽略吧。