我正在学习如何使用nanomsg-next-generation (nng)作为目标为本地库创建NodeJS绑定。
nng使用CMake / Ninja作为构建系统,因此我认为我需要创建一个.gyp文件,以将其编译为可被本机插件使用的静态库。我从这里开始这样做:https://github.com/jportela/node-nng/blob/master/deps/nng.gyp
运行node-gyp rebuild
时出现以下错误,因为nng对不同的源文件使用相同的基本名称:
static library deps/nng.gyp:nng#target has several files with the same basename:
ipc: nng/src/platform/posix/posix_pollq_epoll.c nng/src/supplemental/ipc/ipc.c nng/src/transport/ipc/ipc.c
tcp: nng/src/supplemental/tcp/tcp.c nng/src/transport/tcp/tcp.c
tls: nng/src/supplemental/tls/mbedtls/tls.c nng/src/supplemental/tls/none/tls.c nng/src/transport/tls/tls.c
options: nng/src/core/options.c nng/src/supplemental/util/options.c
websocket: nng/src/supplemental/websocket/websocket.c nng/src/transport/ws/websocket.c
pair: nng/src/protocol/pair0/pair.c nng/src/protocol/pair1/pair.c
libtool on Mac cannot handle that. Use --no-duplicate-basename-check to disable this validation.
gyp: Duplicate basenames in sources section, see list above
从我可以看到的错误来看,应该没问题,但是我不知道如何指定--no-duplicate-basename-check
标志(我尝试过node-gyp rebuild --no-duplicate-basename-check
却没有成功)。
所以,我有两个问题:
您可以在此处看到完整的示例:https://github.com/jportela/node-nng/
谢谢