1
我擁有使用C++ 17功能(特別是「shared_mutex」)的nodejs的本地附加組件。 當我打電話NPM安裝的下載和編譯附加我得到一個錯誤: 使用C++ 17編譯本機節點插件inside in ubuntu安裝npm時
Linux機器具有GCC 6.0安裝。
我Binding.gyp使用以下配置捕捉操作系統類型,並相應地添加標記:
'conditions': [
['OS=="linux"', {
'CXXFLAGS': [
'-std=c++1z'
]}],
**我也試着與 '-std = C++ 17',「-std = C++ 1Z」。
我錯過了什麼?
更新: 1.更新了ubuntu 16.04到GCC 16.04並將其設爲默認值。 2.看來,當我嘗試編譯它manualy使用node-gyp重建「CXXFLAGS =' - std = C++ 17'」它的工作原理和帶來只有一個錯誤: 「shared_,命名空間std沒有命名的utex一個類型std :: shared_mutex文件互斥體「(最後一個錯誤)
首先,C++ 1y是14而不是17,17會是1z。其次,嘗試使用cxxflags而不是cflags。 – fmorgner
你在編譯時看到傳遞給'gcc'的'-std = C++ 1y'嗎? gcc命令將在錯誤消息 – Malice
之上,在6.1中添加'shared_mutex'。 (請注意,C++ 17標準還沒有完成,編譯器支持是不可預知的。) – molbdnilo