将本地node.js扩展与支持libstd的c ++ 17链接起来

我试图在构build它之后在linux机器上使用我的本地node.js插件。 而且我收到以下错误:

Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /root/addon/node_modules/addon/build/Release/addonstrong text.node) 

经过一番调查 – 我明白我需要链接编译的插件正确的libstdc ++库(似乎是libstdc ++。so.6)。 但使用的标志似乎没有什么好处 – 这是使用的binding.gyp的一部分:

 'cflags!': [ '-fno-exceptions' ], 'cflags_cc!': [ '-fno-exceptions' ], 'conditions': [ ["OS=='linux'", { 'cflags_cc': [ '-lstdc++ -std=c++17' ], 'link_settings': { 'ldflags': [ '-R,<(module_root_dir)/lib/linux/libstdc++.so.6' ], 'libaries': ['<(module_root_dir)/lib/linux/libstdc++.so.6' ], } }] 

这里有一个相关的问题 – 但是他们通过改变环境variables来解决这个问题,而不是在编译过程中连接它。