Skip to content

编译指南

rsocker_not_sucker edited this page Jun 12, 2018 · 7 revisions

rsock依赖的第三方库有:libuv, libnet, libpcap/winpcap, libdnet

NOTE: libdnet在ubuntu上被称为libdumbnet。所以如果你要自己编译,还需要改一下代码。把包含dnet.h的地方改为dumbnet.h

Linux/macOS

sudo apt-get install g++ libuv1-dev libnet1-dev libpcap-dev libdumbnet-dev
git clone https://github.com/iceonsun/rsock.git rsock
cd rsock
mkdir build && cd build
cmake .. -DRSOCK_RELEASE=1 && make

FreeBSD

  1. pkg install gcc cmake git libnet libuv libpcap libdnet
  2. git clone https://github.com/iceonsun/rsock.git
  3. cd rsock
  4. 编辑CMakeLists.txt, 在include_directory(./src/os/include/)后加上两行
link_directories(/usr/local/lib/)
include_directories(/usr/local/include)
  1. mkdir build && cd build
  2. cmake .. -DRSOCK_RELEASE=1 && make

Windows

建议使用已经编译好的二进制。如果坚持手动编译的话,下面是要完成的步骤。

  1. 安装 winpcap 和 winpcap 开发包.
  2. 手动编译libuv或者使用repo里面提供的. 编译的时候,要记得选择指定shared mode. 模式的是static mode. 可以参考libuv REAMDE
  3. 编译libnet或者使用repo里面提供的。libnet主页在这里这里
  4. 编译libdnet。(我到现场也没有编译成功。现在的dnet.dll是我把自己libdnet中用到的代码提取出来重新编译的)
  5. cd path/to/rsock
  6. mkdir build
  7. 把前面生成的libnet.lib, libuv.lib, wpcap.lib, dnet.dll 和 Packet.lib拷贝到build目录里
  8. 编辑 CMakeFileLists.txt 包含 libnet, libuv, winpcap
  9. cd build && cmake ..
  10. 打开vs,生成target。
  11. 拷贝前面生成的libnet.dll和libuv.dll到build. 这两个文件不需要重命名。
  12. 执行二进制
Clone this wiki locally