强制的:
选修的:
此示例假设您已经安装了Python 3和最新版本的SCONS。也可以通过使用Makefile来构建我们的图书馆,而无需SCON。由于SCONS是我们自己的主要构建工具,因此我们在此处描述SCONS方法。
从https://gitlab.com/pi-lar/neuropil(开发版本)或https://github.com/pi-lar/neuropil(irrient)从https://gitlab.com/pi-lar/neuropil(开发版本)克隆存储库。
CD进入文件夹并用SCONS构建代码。
首先给出命令
git submodule init
其次是
git submodule update
在调试模式下构建以下任务模式:
scons -C build -f ../SConstruct --DEBUG
或在发行模式下以:
scons -C build -f ../SConstruct --RELEASE
构建文档(需要狮身人面像安装):
scons -C build -f ../SConstruct doc=1
构建测试(需要安装标准):
scons -C build -f ../SConstruct tests
清洁/删除项目:
scons -C build -f ../SConstruct -c
还有一个Makefile,但是一些路径Infos是硬编码的,需要适应您的环境。 MakeFile主要用于运行LLVM扫描构建工具,以进行静态代码分析和模糊库。
Cmake文件是第一个初始草稿,能够构建库,而不是示例程序。
到目前为止,还没有可用的AutoConf。
Neuropil可用于NIX生态系统,该系统提供可再现的图书馆构建和清洁开发环境。
该项目是尼克斯薄片,但带有nix < 3.x的包装纸。
它提供以下包:
尽管这可能不是您想做的(请参阅下一节),但构建单个软件包的工作原理如下:
| 命令 | 描述 |
|---|---|
nix build ./ | 构建库和标题文件 |
nix build ./#packages.x86_64-{darwin,linux}.neuropil_{python,luajit} | 分别构建Python模块或LUA模块 |
nix develop或nix-shell -A devShell.x86_64-{darwin,linux} | 在LDPATH上打开带有libneuropil的外壳,可提供LUA/Python绑定。用它手动构建C来源(例如$CC examples/neuropil_sender.c -lneuropil ) |
nix shell ./#packages.x86_64-{darwin,linux}.libneuropil | 打开具有可用Neuropil的依赖项的外壳,允许使用scons --DEBUG and scons --RELEASE的通用工作流程。 |
要打开壳/构建库而无需克隆存储库,请使用nix片替换./ git+<url to repo>或gitlab:pi-lar/neuropil作为最新分支。
尽管在大多数情况下,您将需要使用NIX将neuropil集成到您的项目中。为了使Neuropil的一部分成为应用程序的一部分,您可以简单地导入薄片,然后将其叠加层添加到这样的包装集中:例如:
{ nixpkgs } :
let
// add rev = . . . to point to a specific version
neuropil = import ( fetchGit { url = "https://gitlab.com/pi-lar/neuropil.git" ; } ) ;
pkgs = import nixpkgs { overlays = [ neuropil . overlay ] } ;
python = pkgs . python3 . withPackages ( ps : with ps ; [ neuropil_python < other python > ] )
in with pkgs ; mkDerivarion {
...
buildInputs = [ libneuropil neuropil_luajit python < other deps > ]
...
}如果您的项目是基于薄片的,只需添加此回购作为输入并导入覆盖层即可。
当前,Python 3.8上的cffi库未能在STDDEF中解析关键标题文件。因此,我们仅提供Python3.7的库,直到解决此问题为止。
输入目录:
输出目录:
您可以像任何可执行文件一样运行可执行文件,请查看每个程序的参数:
示例1:在端口1111上运行控制器
LD_LIBRARY_PATH=./build/neuropil/lib ./build/neuropil/bin/neuropil_controller -b 1111
示例2:在端口2222上运行一个节点,然后将加入消息发送到另一个节点:
./build/neuropil/bin/neuropil_node -b 2222 -j b3b680a867849efe5886a5db751392e9d3079779e3f3c240ed849c11f4ba7d4a:udp6:test.local:3141
示例3:在端口2222上运行一个节点,然后将通配符加入消息发送到另一个节点:
./build/neuropil/bin/neuropil_node -b 2222 -j *:udp6:test.local:3141
要运行测试套件,请我们参数“ -j1”以限制并行执行。通常我们使用以下命令:
./build/neuropil/bin/neuropil_test_suite --tap -j1
根据开放软件许可证版本3.0的条款,该项目可作为开源。但是,例如ext_tool中的某些文件是根据BSD2或GPL-2.0-Orlater和X11许可的,因此请有关准确的信息,请检查单个文件。