Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows build failure on outdated node-gyp (msvs_version=2015) @ Windows 7 x64 #1

Closed
davalapar opened this issue Mar 1, 2019 · 25 comments
Labels
help wanted Extra attention is needed windows Problems in Windows platform won't compile The code is not running

Comments

@davalapar
Copy link
Contributor

I'm eager to test this out on my project rurudb, a prototypal db which currently uses JSON.parse against loaded db file JSON string.

Sad thing is I don't know shit about C++ so this might be tricky.

I'm on Win7 x64 with visual studio build tools, and have existing packages in my projects which are also built using node-gyp.

C:\Users\1234>npm config get python
C:\Users\1234\.windows-build-tools\python27\python.exe

C:\Users\1234>npm config get msvs_version
2015
yarn add simdjson
yarn add v1.13.0-20181107.1254
warning ..\package.json: No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@1.2.7: The platform "win32" is incompatible with this module.
info "fsevents@1.2.7" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > ts-jest@23.10.5" has incorrect peer dependency "jest@>=22 <24".
[4/4] Building fresh packages...
error C:\cygwin64\home\1234\rurudb\node_modules\simdjson: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments:
Directory: C:\cygwin64\home\1234\rurudb\node_modules\simdjson
Output:
C:\cygwin64\home\1234\rurudb\node_modules\simdjson>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@10.10.0 | win32 | x64
gyp info spawn C:\Python27\python.EXE
gyp info spawn args [ 'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=auto',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\cygwin64\\home\\1234\\rurudb\\node_modules\\simdjson\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\1234\\.node-gyp\\10.10.0\\include\\node\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\1234\\.node-gyp\\10.10.0',
gyp info spawn args   '-Dnode_gyp_dir=C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\1234\\.node-gyp\\10.10.0\\<(target_arch)\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\cygwin64\\home\\1234\\rurudb\\node_modules\\simdjson',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\cygwin64\\home\\1234\\rurudb\\node_modules\\simdjson\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  nothing.c
  win_delay_load_hook.cc
  nothing.vcxproj -> C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\Release\\nothing.lib
  main.cpp
  bindings.cpp
  win_delay_load_hook.cc
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\bindings.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\bindings.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\main.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\main.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(462): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\main.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\sstream(12): note: see declaration of 'std' (compiling source file ..\simdjson\main.cpp)
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(462): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\bindings.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(462): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
(compiling source file ..\simdjson\main.cpp)C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\sstream(12): note: see declaration of 'std' (compiling source file ..\simdjson\bindings.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]

c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(462): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
(compiling source file ..\simdjson\bindings.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(462): error C2146: syntax error: missing ';' before identifier 'get_corpus' (compiling source file ..\simdjson\bindings.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(462): error C2146: syntax error: missing ';' before identifier 'get_corpus' (compiling source file ..\simdjson\main.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(35739): fatal error C1021: invalid preprocessor command 'warning' (compiling source file ..\simdjson\main.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(35739): fatal error C1021: invalid preprocessor command 'warning' (compiling source file ..\simdjson\bindings.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\cygwin64\home\1234\rurudb\node_modules\simdjson
gyp ERR! node -v v10.10.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
@luizperes
Copy link
Owner

luizperes commented Mar 1, 2019

Hi @davalapar, I don't understand your problem very well because this output is very unclear to me (there are years that I don't use Windows).

According to your error message, it seems to be a problem with your C++ default compiler.
This error here for example: c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(462): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

I checked the line on the simdjson.h file line 462 and it was fine: std::string_view get_corpus(const std::string& filename);

Also you get this error: c:\cygwin64\home\1234\rurudb\node_modules\simdjson\simdjson\src/simdjson.h(462): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\main.cpp) [C:\cygwin64\home\1234\rurudb\node_modules\simdjson\build\simdjson.vcxproj]

So I think that it could be that you don't have (or Windows doesn't have) the type string_view.

Do you think you could change the c++(possibly to clang++ or g++) compiler?

Let me know if you can do it! I can try to build it in a Windows machine I have over the weekend, in case you keep getting errors! Cheers

@luizperes luizperes added help wanted Extra attention is needed windows Problems in Windows platform won't compile The code is not running labels Mar 1, 2019
@luizperes
Copy link
Owner

Hey @davalapar, have you tried npm install simdjson?

I am saying that because I found the following: yarnpkg/yarn#5115

@davalapar
Copy link
Contributor Author

davalapar commented Mar 1, 2019

Hey @davalapar, have you tried npm install simdjson?

Yes, however it's same error.

I think that it could be that you don't have (or Windows doesn't have) the type string_view.

Seems right, it appears that string_view is an std stuff in C++ 17 and it's my outdated node-gyp version causing this.

I tried adding:

			'msvs_settings': {
				'VCCLCompilerTool': {
					'AdditionalOptions': [ '-std:c++14' ]
				}
			}

to make it look like

{
    "targets": [{
        "target_name": "simdjson",
        "sources": [
            "simdjson/main.cpp",
            "simdjson/bindings.cpp",
        ],
        'include_dirs': [
            "<!@(node -p \"require('node-addon-api').include\")"
        ],
        "libraries": ["~/Projects/simdjson/build/libsimdjson.0.0.1.dylib"],
        'dependencies': [
            "<!(node -p \"require('node-addon-api').gyp\")"
        ],
        'defines': [ 'NAPI_DISABLE_CPP_EXCEPTIONS' ],
			'msvs_settings': {
				'VCCLCompilerTool': {
					'AdditionalOptions': [ '-std:c++14' ]
				}
			}
    }]
}

and the error will persist (as it should), but when I tried replacing -std:c++14 with -std:c++17 it will then say an extra error that it doesn't recognize it as a flag.

cl : Command line warning D9002: ignoring unknown option '-std:c++17' [C:\simdj
son_nodejs\build\simdjson.vcxproj]
cl : Command line warning D9002: ignoring unknown option '-std:c++17' [C:\simdj
son_nodejs\build\simdjson.vcxproj]

Do you think you could change the c++(possibly to clang++ or g++) compiler?

I think updating my outdated node-gyp or workstation (win7 lol) for now would be worth a shot, I'll re-open this issue instead if the issue persist on that case. Thank you!!

References:

@davalapar davalapar changed the title Windows build error Windows build failure on outdated node-gyp (msvs_version=2015) Mar 1, 2019
@davalapar davalapar changed the title Windows build failure on outdated node-gyp (msvs_version=2015) Windows build failure on outdated node-gyp (msvs_version=2015) @ Windows 7 x64 Mar 1, 2019
@luizperes
Copy link
Owner

That sounds good, please let me know how that turns out

@luizperes
Copy link
Owner

Hi @davalapar, I think I fixed your problem. I haven't merged into master because I am still working on it, but if you want, you can download it on this branch here: https://github.com/luizperes/simdjson_nodejs/tree/issue-6

@davalapar
Copy link
Contributor Author

davalapar commented Mar 3, 2019

Hi @luizperes, I haven't updated my os or node-gyp yet (still at win 7 & msvs build tools 2015) but still gave it a shot:

C:\>cd simdjson_nodejs

C:\simdjson_nodejs>git branch
* master

C:\simdjson_nodejs>git checkout issue-6
Branch issue-6 set up to track remote branch issue-6 from origin.
Switched to a new branch 'issue-6'

C:\simdjson_nodejs>yarn
yarn install v1.13.0-20181107.1254
info No lockfile found.
warning package-lock.json found. Your project contains lock files generated by t
ools other than Yarn. It is advised not to mix package managers in order to avoi
d resolution inconsistencies caused by unsynchronized lock files. To clear this
warning, remove package-lock.json.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...

success Saved lockfile.
$ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@10.10.0 | win32 | x64
gyp info spawn C:\Python27\python.EXE
gyp info spawn args [ 'C:\\simdjson_nodejs\\node_modules\\node-gyp\\gyp\\gyp_mai
n.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=auto',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\node_modules\\node-gyp\\addon.gypi',

gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\1234\\.node-gyp\\10.10.0\\include\\node\\commo
n.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\1234\\.node-gyp\\10.10.0',
gyp info spawn args   '-Dnode_gyp_dir=C:\\simdjson_nodejs\\node_modules\\node-gy
p',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\1234\\.node-gyp\\10.10.0\\<(ta
rget_arch)\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\simdjson_nodejs',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\simdjson_nodejs\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
  nonavx2.cpp
  win_delay_load_hook.cc
..\simdjson\nonavx2.cpp(2): fatal error C1083: Cannot open include file: 'nan.h
': No such file or directory [C:\simdjson_nodejs\build\simdjson.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` fail
ed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\simdjson_nodejs\node_modules\node-
gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_proces
s.js:240:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\simdjson_nodejs\\nod
e_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\simdjson_nodejs
gyp ERR! node -v v10.10.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this
command.

C:\simdjson_nodejs>

this line stands out, which could be related to nan https://github.com/nodejs/nan :

..\simdjson\nonavx2.cpp(2): fatal error C1083: Cannot open include file: 'nan.h
': No such file or directory [C:\simdjson_nodejs\build\simdjson.vcxproj]

I googled that shit and landed on xmppo/node-expat#78 which led me to https://github.com/astro/node-expat/compare/dadleyy-nan-fix where I tried editing line number 2 of simdjson_nodejs/simdjson/nonavx2.cpp

from

#include <nan.h>

to

#include <../node_modules/nan/nan.h>

and yeah luckily I guess it works now

C:\simdjson_nodejs>yarn
yarn install v1.13.0-20181107.1254
warning package-lock.json found. Your project contains lock files generated by t
ools other than Yarn. It is advised not to mix package managers in order to avoi
d resolution inconsistencies caused by unsynchronized lock files. To clear this
warning, remove package-lock.json.
[1/4] Resolving packages...
success Already up-to-date.
$ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@10.10.0 | win32 | x64
gyp info spawn C:\Python27\python.EXE
gyp info spawn args [ 'C:\\simdjson_nodejs\\node_modules\\node-gyp\\gyp\\gyp_mai
n.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=auto',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\node_modules\\node-gyp\\addon.gypi',

gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\1234\\.node-gyp\\10.10.0\\include\\node\\commo
n.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\1234\\.node-gyp\\10.10.0',
gyp info spawn args   '-Dnode_gyp_dir=C:\\simdjson_nodejs\\node_modules\\node-gy
p',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\1234\\.node-gyp\\10.10.0\\<(ta
rget_arch)\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\simdjson_nodejs',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\simdjson_nodejs\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
  nonavx2.cpp
  win_delay_load_hook.cc
     Creating library C:\simdjson_nodejs\build\Release\simdjson.lib and object
  C:\simdjson_nodejs\build\Release\simdjson.exp
  Generating code
  All 78 functions were compiled because no usable IPDB/IOBJ from previous comp
  ilation was found.
  Finished generating code
  simdjson.vcxproj -> C:\simdjson_nodejs\build\Release\\simdjson.node
  simdjson.vcxproj -> C:\simdjson_nodejs\build\Release\simdjson.pdb (Full PDB)
gyp info ok
Done in 10.60s.

C:\simdjson_nodejs>

huge LOL though I don't know shit about c++ haha.


just tested it, it works! amazing!

C:\>mkdir test1
C:\>cd test1
C:\test1>yarn init
C:\test1>yarn add ../simdjson_nodejs
yarn add v1.13.0-20181107.1254
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ simdjson@0.0.2
info All dependencies
├─ nan@2.12.1
└─ simdjson@0.0.2
Done in 14.08s.
// /test1/index.js
const simdjson = require('simdjson');
const sample1 = {
	a: 1,
	b: 3
};
console.log('sample1 must be valid : ', simdjson.isValid(JSON.stringify(sample1)) === true);
console.log('sample1 must be parsed : ', simdjson.parse(JSON.stringify(sample1)));
C:\test1>node index.js
sample1 must be valid :  true
sample1 must be parsed :  { a: 1, b: 3 }

huge thank you for this fix! 💯 💯 💯

@luizperes
Copy link
Owner

Thanks for the feedback! However, I believe that your project is using the default JSON parser, since I am still giving support to it, in case that it fails for avx2. You will see that you are only compiling the nonavx2.cpp file.

I think I just fixed this problem for windows (both the warning for <nan.h> and the problem that it wouldn't compile properly. I would really appreciate if you could update your issue-6 branch and try to compile it. Please also post the output here, so I can check if it is working properly for windows.

Oh! One way to check if it is working properly is by running the benchmarks:

  • cd benchmark
  • node benchmark.js

The output should be something like:

Luizs-MacBook-Pro:benchmark luizperes$ node benchmark.js 
apache_builds.json#simdjson x 5,433 ops/sec ±0.39% (94 runs sampled) => 0.00018407286098149627
apache_builds.json#JSON x 1,430 ops/sec ±1.06% (89 runs sampled) => 0.0006994615262760572

See that for simdjson it did 5,433 ops/sec, but for JSON it did 1,430 ops/sec.
If the number of operations are close to each other (in the house of the 1000s, then it means that your project is using simdjson as an alias for JSON.

Please let me know how it goes! Thanks for contributing to this project!

@davalapar
Copy link
Contributor Author

Hi @luizperes, seems that you're right. Tested the issue-6 branch and the latest master branch and both shows the initial c++17 error I had before.

I'm currently installing VS build tools 2017 for node-gyp, will get back to you if it works out!

@davalapar
Copy link
Contributor Author

Installed with :

  • MSBuild Tools
  • Visual C++ Build Tools core features
  • Windows 8.1 SDK
  • Windows 10 SDK

issue-6 branch:

yarn install v1.13.0-20181107.1254
[1/4] Resolving packages...
success Already up-to-date.
$ node-gyp rebuild
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  nonavx2.cpp
  win_delay_load_hook.cc
c:\simdjson_nodejs\simdjson\nonavx2.cpp(2): fatal error C1083: Cannot open include file: 'nan.h': No such file or directory [C:\simdjson_nodejs\build\simdjson.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  simdjson.cpp
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  bindings.cpp
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  win_delay_load_hook.cc
c:\simdjson_nodejs\simdjson\bindings.cpp(2): fatal error C1083: Cannot open include file: 'nan.h': No such file or directory [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\sstream(14): note: see declaration of 'std' (compiling source file ..\simdjson\src\simdjson.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C2146: syntax error: missing ';' before identifier 'get_corpus' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\sstream(14): note: see declaration of 'std' (compiling source file ..\simdjson\src\simdjson.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2065: 'p': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2065: 'out': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2661: 'jsonminify': no overloaded function takes 2 arguments (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing': conversion from 'int64_t' to 'int', possible loss of data (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus operator applied to unsigned type, result still unsigned (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing': conversion from 'int64_t' to 'double', possible loss of data (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\src\simdjson.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 's': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 'pj': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 'reallocifneeded': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\src\simdjson.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36839): error C2065: 's': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36839): error C2065: 'reallocifneeded': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C2039: 'string_view': is not a member of 'std' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std'
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C2086: 'int string_view': redefinition [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\simdjson_nodejs\simdjson\src\simdjson.h(462): note: see declaration of 'string_view'
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C2146: syntax error: missing ';' before identifier 'get_corpus' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C2143: syntax error: missing ';' before '{' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C2447: '{': missing function header (old-style formal list?) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(163): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(246): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(258): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(439): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(494): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(617): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(672): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(850): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(862): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(874): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

master branch:

yarn install v1.13.0-20181107.1254
[1/4] Resolving packages...
success Already up-to-date.
$ node-gyp rebuild
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  main.cpp
  nonavx2.cpp
  win_delay_load_hook.cc
     Creating library C:\simdjson_nodejs\build\Release\simdjson.lib and object C:\simdjson_nodejs\build\Release\simdjson.exp
  Generating code
  All 79 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  Finished generating code
  simdjson.vcxproj -> C:\simdjson_nodejs\build\Release\\simdjson.node
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  main.cpp
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  simdjson.cpp
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  bindings.cpp
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  win_delay_load_hook.cc
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\sstream(14): note: see declaration of 'std' (compiling source file ..\simdjson\src\simdjson.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C2146: syntax error: missing ';' before identifier 'get_corpus' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\sstream(14): note: see declaration of 'std' (compiling source file ..\simdjson\main.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C2146: syntax error: missing ';' before identifier 'get_corpus' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\sstream(14): note: see declaration of 'std' (compiling source file ..\simdjson\bindings.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(462): error C2146: syntax error: missing ';' before identifier 'get_corpus' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\sstream(14): note: see declaration of 'std' (compiling source file ..\simdjson\src\simdjson.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2065: 'p': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2065: 'out': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2661: 'jsonminify': no overloaded function takes 2 arguments (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing': conversion from 'int64_t' to 'int', possible loss of data (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus operator applied to unsigned type, result still unsigned (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing': conversion from 'int64_t' to 'double', possible loss of data (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\src\simdjson.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 's': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 'pj': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 'reallocifneeded': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\src\simdjson.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36839): error C2065: 's': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36839): error C2065: 'reallocifneeded': undeclared identifier (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C2039: 'string_view': is not a member of 'std' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std'
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C2086: 'int string_view': redefinition [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\simdjson_nodejs\simdjson\src\simdjson.h(462): note: see declaration of 'string_view'
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C2146: syntax error: missing ';' before identifier 'get_corpus' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C2143: syntax error: missing ';' before '{' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(30): error C2447: '{': missing function header (old-style formal list?) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(163): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(246): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(258): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\sstream(14): note: see declaration of 'std' (compiling source file ..\simdjson\main.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2065: 'p': undeclared identifier (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2065: 'out': undeclared identifier (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2661: 'jsonminify': no overloaded function takes 2 arguments (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing': conversion from 'int64_t' to 'int', possible loss of data (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus operator applied to unsigned type, result still unsigned (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing': conversion from 'int64_t' to 'double', possible loss of data (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\main.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 's': undeclared identifier (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 'pj': undeclared identifier (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 'reallocifneeded': undeclared identifier (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\main.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36839): error C2065: 's': undeclared identifier (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36839): error C2065: 'reallocifneeded': undeclared identifier (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.h(8): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\main.cpp)
c:\simdjson_nodejs\simdjson\bindings.h(8): error C2146: syntax error: missing ')' before identifier 'p' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.h(11): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\main.cpp)
c:\simdjson_nodejs\simdjson\bindings.h(11): error C2061: syntax error: identifier 'string_view' (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\sstream(14): note: see declaration of 'std' (compiling source file ..\simdjson\bindings.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35761): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2065: 'p': undeclared identifier (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2065: 'out': undeclared identifier (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35762): error C2661: 'jsonminify': no overloaded function takes 2 arguments (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing': conversion from 'int64_t' to 'int', possible loss of data (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus operator applied to unsigned type, result still unsigned (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing': conversion from 'int64_t' to 'double', possible loss of data (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\bindings.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36804): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 's': undeclared identifier (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 'pj': undeclared identifier (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36805): error C2065: 'reallocifneeded': undeclared identifier (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\bindings.cpp)
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36838): error C2143: syntax error: missing ',' before '&' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36839): error C2065: 's': undeclared identifier (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36839): error C2065: 'reallocifneeded': undeclared identifier (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.h(8): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\bindings.cpp)
c:\simdjson_nodejs\simdjson\bindings.h(8): error C2146: syntax error: missing ')' before identifier 'p' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.h(11): error C2039: 'string_view': is not a member of 'std' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std' (compiling source file ..\simdjson\bindings.cpp)
c:\simdjson_nodejs\simdjson\bindings.h(11): error C2061: syntax error: identifier 'string_view' (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.cpp(9): error C2039: 'isValid': is not a member of 'simdjson' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\simdjson_nodejs\simdjson\bindings.h(5): note: see declaration of 'simdjson'
c:\simdjson_nodejs\simdjson\bindings.cpp(9): error C2039: 'string_view': is not a member of 'std' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std'
c:\simdjson_nodejs\simdjson\bindings.cpp(9): error C2146: syntax error: missing ')' before identifier 'p' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.cpp(9): error C2143: syntax error: missing ';' before '{' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.cpp(9): error C2447: '{': missing function header (old-style formal list?) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.cpp(17): error C2039: 'isValid': is not a member of 'simdjson' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\simdjson_nodejs\simdjson\bindings.h(5): note: see declaration of 'simdjson'
c:\simdjson_nodejs\simdjson\bindings.cpp(17): error C3861: 'isValid': identifier not found [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.cpp(21): error C2039: 'string_view': is not a member of 'std' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\cinttypes(19): note: see declaration of 'std'
c:\simdjson_nodejs\simdjson\bindings.cpp(21): error C2061: syntax error: identifier 'string_view' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.cpp(22): error C2065: 'p': undeclared identifier [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.cpp(72): warning C4244: 'argument': conversion from 'int64_t' to 'double', possible loss of data [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.cpp(97): error C2660: 'simdjson::parse': function does not take 2 arguments [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  c:\simdjson_nodejs\simdjson\bindings.cpp(21): note: see declaration of 'simdjson::parse'
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(439): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(494): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(617): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(672): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(850): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(862): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(874): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

@luizperes
Copy link
Owner

Thank you, I will have to study them, because you keep getting problems with string_view. It could be that we are not passing a flag -std=c++17 to the VS

@davalapar
Copy link
Contributor Author

Yes I saw it too, I tried adding '/std:c++17',

{
  "targets": [
    {
      "target_name": "simdjson",
      "default_configuration": "Release",
      "cflags": ["-O3", "-std=c99"],
      "cflags_cc": ["-O3", "-std=c++17"],
      "sources": [
        "simdjson/main.cpp",
        "simdjson/nonavx2.cpp"
      ],
      "include_dirs": ["<!@(node -p \"require('node-addon-api').include\")"],
      "defines": ["NAPI_DISABLE_CPP_EXCEPTIONS"]
    }
  ],
  "conditions": [
    [
      "target_arch in \"x64 x86_64\"",
      {
        "targets": [
          {
            "target_name": "simdjson-avx2",
            "default_configuration": "Release",
            "cflags!": ["-fno-exceptions"],
            "cflags_cc!": ["-O3", "-fno-exceptions", "-std=gnu++0x", "-std=gnu++1y", "-mavx2", "-mavx", "-mbmi", "-mpclmul"],
            "cflags_cc+": ["-O3", "-march=native", "-std=c++17", "-mavx2", "-mavx", "-mbmi", "-mpclmul"],
            "sources": [
              "simdjson/main.cpp",
              "simdjson/src/simdjson.cpp",
              "simdjson/bindings.cpp"
            ],
            "xcode_settings": {
              "GCC_ENABLE_SSE42_EXTENSIONS": "YES",
              "CLANG_X86_VECTOR_INSTRUCTIONS": "avx2",
              "OTHER_CFLAGS": ["-mavx2", "-mavx", "-mbmi", "-mpclmul"],
            },
            "msvs_settings": {
              "VCCLCompilerTool": {
+                "AdditionalOptions": ['/std:c++17', "/arch:AVX2", "/mavx2", "/mavx", "/mbmi", "/mpclmul"]
              }
            },
            "include_dirs": ["<!@(node -p \"require('node-addon-api').include\")"],
            "defines": ["NAPI_DISABLE_CPP_EXCEPTIONS"]
          }
        ]
      }
    ]
  ]
}

which got rid of string_view related errors, but then some warnings still show up. Also tried running benchmark at this point but it won't proceed (just exits).

C:\simdjson_nodejs>yarn
yarn install v1.13.0-20181107.1254
warning package-lock.json found. Your project contains lock files generated by t
ools other than Yarn. It is advised not to mix package managers in order to avoi
d resolution inconsistencies caused by unsynchronized lock files. To clear this
warning, remove package-lock.json.
[1/4] Resolving packages...
success Already up-to-date.
$ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@10.10.0 | win32 | x64
gyp info spawn C:\Python27\python.exe
gyp info spawn args [ 'C:\\simdjson_nodejs\\node_modules\\node-gyp\\gyp\\gyp_mai
n.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=2015',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\node_modules\\node-gyp\\addon.gypi',

gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\1234\\.node-gyp\\10.10.0\\include\\node\\commo
n.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\1234\\.node-gyp\\10.10.0',
gyp info spawn args   '-Dnode_gyp_dir=C:\\simdjson_nodejs\\node_modules\\node-gy
p',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\1234\\.node-gyp\\10.10.0\\<(ta
rget_arch)\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\simdjson_nodejs',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\simdjson_nodejs\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MS
Build\15.0\Bin\MSBuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
  main.cpp
  nonavx2.cpp
  win_delay_load_hook.cc
     Creating library C:\simdjson_nodejs\build\Release\simdjson.lib and object
  C:\simdjson_nodejs\build\Release\simdjson.exp
  Generating code
  All 79 functions were compiled because no usable IPDB/IOBJ from previous comp
  ilation was found.
  Finished generating code
  simdjson.vcxproj -> C:\simdjson_nodejs\build\Release\\simdjson.node
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_
nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_
nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjso
n_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_
nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjso
n_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_
nodejs\build\simdjson-avx2.vcxproj]
  main.cpp
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjso
n_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjso
n_nodejs\build\simdjson-avx2.vcxproj]
  simdjson.cpp
  bindings.cpp
cl : Command line warning D9002: ignoring unknown option '/mavx2' [C:\simdjson_
nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mavx' [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mbmi' [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9002: ignoring unknown option '/mpclmul' [C:\simdjso
n_nodejs\build\simdjson-avx2.vcxproj]
  win_delay_load_hook.cc
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conver
sion from 'unsigned __int64' to 'int', possible loss of data (compiling source
file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxp
roj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conver
sion from 'unsigned __int64' to 'int', possible loss of data (compiling source
file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxp
roj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conver
sion from 'unsigned __int64' to 'int', possible loss of data (compiling source
file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conver
sion from 'unsigned __int64' to 'int', possible loss of data (compiling source
file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conver
sion from 'unsigned __int64' to 'int', possible loss of data (compiling source
file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conver
sion from 'unsigned __int64' to 'int', possible loss of data (compiling source
file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\src\simdjson.cpp
) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\src\simdjson.cpp
) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\src\simdjson.cpp
) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\src\simdjson.cpp
) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\src\simdjson.cpp
) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\src\simdjson.cpp
) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\src\simdjson.cpp
) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing
': conversion from 'int64_t' to 'int', possible loss of data (compiling source
file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxp
roj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus o
perator applied to unsigned type, result still unsigned (compiling source file
..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing
': conversion from '__int64' to 'int', possible loss of data (compiling source
file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxp
roj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing
': conversion from 'int64_t' to 'double', possible loss of data (compiling sour
ce file ..\simdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.v
cxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(163): warning C4309: 'argument': t
runcation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(246): warning C4309: 'argument': t
runcation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(258): warning C4309: 'argument': t
runcation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\bindings.cpp) [C
:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\bindings.cpp) [C
:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\bindings.cpp) [C
:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\bindings.cpp) [C
:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\bindings.cpp) [C
:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\bindings.cpp) [C
:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\bindings.cpp) [C
:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\main.cpp) [C:\si
mdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\main.cpp) [C:\si
mdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\main.cpp) [C:\si
mdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\main.cpp) [C:\si
mdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\main.cpp) [C:\si
mdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing
': conversion from 'int64_t' to 'int', possible loss of data (compiling source
file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\main.cpp) [C:\si
mdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus o
perator applied to unsigned type, result still unsigned (compiling source file
..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing
': conversion from '__int64' to 'int', possible loss of data (compiling source
file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': t
runcation of constant value (compiling source file ..\simdjson\main.cpp) [C:\si
mdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing
': conversion from 'int64_t' to 'double', possible loss of data (compiling sour
ce file ..\simdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxpr
oj]
c:\simdjson_nodejs\simdjson\bindings.cpp(72): warning C4244: 'argument': conver
sion from 'int64_t' to 'double', possible loss of data [C:\simdjson_nodejs\buil
d\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing
': conversion from 'int64_t' to 'int', possible loss of data (compiling source
file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus o
perator applied to unsigned type, result still unsigned (compiling source file
..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing
': conversion from '__int64' to 'int', possible loss of data (compiling source
file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing
': conversion from 'int64_t' to 'double', possible loss of data (compiling sour
ce file ..\simdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(439): warning C4309: 'argument': t
runcation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(494): warning C4309: 'argument': t
runcation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(617): warning C4309: 'argument': t
runcation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(672): warning C4309: 'argument': t
runcation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(850): warning C4244: '=': conversi
on from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\bui
ld\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(862): warning C4244: '=': conversi
on from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\bui
ld\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(874): warning C4244: '=': conversi
on from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\bui
ld\simdjson-avx2.vcxproj]
     Creating library C:\simdjson_nodejs\build\Release\simdjson-avx2.lib and ob
  ject C:\simdjson_nodejs\build\Release\simdjson-avx2.exp
  Generating code
  All 539 functions were compiled because no usable IPDB/IOBJ from previous com
  pilation was found.
  Finished generating code
  simdjson-avx2.vcxproj -> C:\simdjson_nodejs\build\Release\\simdjson-avx2.node
gyp info ok
Done in 8.76s.

C:\simdjson_nodejs>

@luizperes
Copy link
Owner

The flags "/mavx2", "/mavx", "/mbmi", "/mpclmul" can all be removed, I thought that they were needed (such as in Linux and Mac OS). Did you get anything running?

Also, that would be cool if you could open a PR on your fixes for Windows. Thanks!

@davalapar davalapar mentioned this issue Mar 4, 2019
3 tasks
@davalapar
Copy link
Contributor Author

davalapar commented Mar 4, 2019

Just opened the PR, I've removed those flags yet some warnings still show up, and when I try to run the benchmark it just abruptly exits without any errors / warnings.

Also tried requiring it, but it also exits w/o errors or warnings:

C:\simdjson_nodejs>node
> x = require("./index")
{ hasAVX2: [Function], isValid: [Function], parse: [Function] }
> x
{ hasAVX2: [Function], isValid: [Function], parse: [Function] }
> x.parse('{ "a": 1}');

C:\simdjson_nodejs>

I've checked a couple issues in node-gyp repo and it seems that on warnings like these (shown in pr) they are telling people that it's not a problem in node-gyp

@luizperes luizperes reopened this Mar 5, 2019
@luizperes
Copy link
Owner

How about any of the other functions: hasAVX2, isValid? Do they work?

@davalapar
Copy link
Contributor Author

Just teted, hasAVX2 works, isValid exits like parse:

C:\>cd simdjson_nodejs

C:\simdjson_nodejs>node
> x = require('./index')
{ hasAVX2: [Function], isValid: [Function], parse: [Function] }
> x.hasAVX2() // works
true
> x.isValid('x') // exits

C:\simdjson_nodejs>node
> x = require('./index')
{ hasAVX2: [Function], isValid: [Function], parse: [Function] }
> x.isValid('{ "a": 1 }'); // exits

C:\simdjson_nodejs>

@luizperes
Copy link
Owner

So... the hasAVX2 only checks if the flag __AVX2__ was passed. isValid actually calls the simdjson lib. I wonder if you really have avx2, have you ever tested it? That is so unusual, I would expect you to get a crash or mixed up values, but no response is weird. This project here would help you to check if you have AVX2 https://github.com/Mysticial/FeatureDetector

@luizperes
Copy link
Owner

Oooooh! The flag NAPI_DISABLE_CPP_EXCEPTIONS will prevent the code from throwing exceptions!!! That sucks! would you try to compile the files related to simdjson directly?

They can be found on:
./simdjson/src/simdjson.h
./simdjson/src/simdjson.cpp

You might find directions on how to compile them here: https://devblogs.microsoft.com/cppblog/building-your-c-application-with-visual-studio-code/

Don't forget to add the flags: '/std:c++17' and "/arch:AVX2"

@davalapar
Copy link
Contributor Author

davalapar commented Mar 5, 2019

Got this, it created .pdb and .obj files:

https://i.imgur.com/WPFRfYx.png


Also tried the try-catch thing, both variants show no error / warning, just exits.

const simdjson = require('../simdjson_nodejs'); // pr branch on separate folder

const sample1 = JSON.stringify({
  a: 1,
  b: 3
});

try {
  simdjson.parse(sample1);
} catch (e) {
  console.error(e);
}
const simdjson = require('../simdjson_nodejs'); // pr branch on separate folder

const sample1 = JSON.stringify({
	a: 1,
	b: 3
});

try {
  simdjson.isValid(sample1);
} catch (e) {
  console.error(e);
}

@luizperes
Copy link
Owner

luizperes commented Mar 6, 2019

I wonder if you have to add the flas /Od /Zi /EHsc to the binding.gyp file such as:

"msvs_settings": {
  "VCCLCompilerTool": {
    "AdditionalOptions": ["/std:c++17", "/arch:AVX2", "/Od", "/Zi", "EHsc"]
  }
}

Would that work for you?

Otherwise, it is also possible to use a path for a library file on binding.gyp. You could try to add that library your compiled library (is there a way to compile to the standard .dll?). You could replace the binding.gyp file completely with:

binding.gyp

{
    "targets": [{
        "target_name": "simdjson",
        "cflags!": [ "-fno-exceptions" ],
        "cflags_cc!": [ "-fno-exceptions" ],
        "sources": [
            "simdjson/main.cpp",
            "simdjson/bindings.cpp",
        ],
        "include_dirs": [
            "<!@(node -p \"require('node-addon-api').include\")"
        ],
        "libraries": ["/path/to/library/libsimdjson.dll"],
        "dependencies": [
            "<!(node -p \"require('node-addon-api').gyp\")"
        ],
        "defines": [ "NAPI_DISABLE_CPP_EXCEPTIONS" ]
    }]
}

// please don't submit that on your PR though, this would only work locally to you

@davalapar
Copy link
Contributor Author

davalapar commented Mar 6, 2019

I've followed the cmake build steps in simdjson's repository, have built the dll, copied it in simdjson_nodejs folder and referenced it in the new binding.gyp. Here are the results

C:\simdjson> cmake -DCMAKE_GENERATOR_PLATFORM=x64 -DSIMDJSON_BUILD_STATIC=OFF -DCMAKE_GENERATOR_TOOLSET="v141" -DCMAKE_VS_PLATFORM_TOOLSET="v141"
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.


-- Building a dynamic library (default).
-- SIMDJSON_LIB_TYPE: SHARED
-- Building a Windows DLL using Visual Studio, exporting all symbols automatical
ly.
-- Configuring done
-- Generating done
-- Build files have been written to: C:/simdjson

C:\simdjson> "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe" simdjson.sln
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 3/6/2019 3:49:22 PM.
Project "C:\simdjson\simdjson.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
  Building solution configuration "Debug|x64".
ValidateProjects:
  The project "INSTALL" is not selected for building in solution configuration "Debug|x64".
  The project "PACKAGE" is not selected for building in solution configuration "Debug|x64".
  The project "RUN_TESTS" is not selected for building in solution configuration "Debug|x64".
Project "C:\simdjson\simdjson.sln" (1) is building "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (2) on node 1 (default targets).
Project "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (2) is building "C:\simdjson\ZERO_CHECK.vcxproj" (3) on node 1 (default targets).
InitializeBuildStatus:
  Creating "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
FinalizeBuildStatus:
  Deleting file "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
  Touching "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
Done Building Project "C:\simdjson\ZERO_CHECK.vcxproj" (default targets).

Project "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (2) is building "C:\simdjson\tools\json2json.vcxproj.metaproj" (4) on node 1 (default targets).
Project "C:\simdjson\tools\json2json.vcxproj.metaproj" (4) is building "C:\simdjson\src\simdjson.vcxproj.metaproj" (5) on node 1 (default targets).
Project "C:\simdjson\src\simdjson.vcxproj.metaproj" (5) is building "C:\simdjson\src\simdjson.vcxproj" (6) on node 1 (default targets).
InitializeBuildStatus:
  Creating "simdjson.dir\Debug\simdjson.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
PreLinkEvent:
  Auto build dll exports
  setlocal
  cd C:\simdjson\src
  if %errorlevel% neq 0 goto :cmEnd
  C:
  if %errorlevel% neq 0 goto :cmEnd
  "C:\Program Files\CMake\bin\cmake.exe" -E __create_def C:/simdjson/src/simdjson.dir/Debug/exports.def C:/simdjson/src/simdjson.dir/Debug//objects.txt
  if %errorlevel% neq 0 goto :cmEnd
  :cmEnd
  endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
  :cmErrorLevel
  exit /b %1
  :cmDone
  if %errorlevel% neq 0 goto :VCEnd
  :VCEnd
Link:
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\simdjson\src\Debug\simdjso
  n.dll" /INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /DEF:"C:/simdjson/src/s
  imdjson.dir/Debug/exports.def" /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/simdjson/src/Debug/simdjson.pdb" /SUBSYSTEM:C
  ONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/simdjson/src/Debug/simdjson.lib" /MACHINE:X64  /machine:x64 /DLL simdjson.dir\Debug\jsonioutil.obj
  simdjson.dir\Debug\jsonminifier.obj
  simdjson.dir\Debug\jsonparser.obj
  simdjson.dir\Debug\stage1_find_marks.obj
  simdjson.dir\Debug\stage2_build_tape.obj
  simdjson.dir\Debug\parsedjson.obj
  simdjson.dir\Debug\parsedjsoniterator.obj
  simdjson.dir\Debug\simdjson.obj
     Creating library C:/simdjson/src/Debug/simdjson.lib and object C:/simdjson/src/Debug/simdjson.exp
  simdjson.vcxproj -> C:\simdjson\src\Debug\simdjson.dll
FinalizeBuildStatus:
  Deleting file "simdjson.dir\Debug\simdjson.tlog\unsuccessfulbuild".
  Touching "simdjson.dir\Debug\simdjson.tlog\simdjson.lastbuildstate".
Done Building Project "C:\simdjson\src\simdjson.vcxproj" (default targets).

Done Building Project "C:\simdjson\src\simdjson.vcxproj.metaproj" (default targets).

Project "C:\simdjson\tools\json2json.vcxproj.metaproj" (4) is building "C:\simdjson\tools\json2json.vcxproj" (7) on node 1 (default targets).
InitializeBuildStatus:
  Creating "json2json.dir\Debug\json2json.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  json2json.vcxproj -> C:\simdjson\tools\Debug\json2json.exe
FinalizeBuildStatus:
  Deleting file "json2json.dir\Debug\json2json.tlog\unsuccessfulbuild".
  Touching "json2json.dir\Debug\json2json.tlog\json2json.lastbuildstate".
Done Building Project "C:\simdjson\tools\json2json.vcxproj" (default targets).

Done Building Project "C:\simdjson\tools\json2json.vcxproj.metaproj" (default targets).

Project "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (2) is building "C:\simdjson\tests\jsoncheck.vcxproj.metaproj" (8) on node 1 (default targets).
Project "C:\simdjson\tests\jsoncheck.vcxproj.metaproj" (8) is building "C:\simdjson\tests\jsoncheck.vcxproj" (9) on node 1 (default targets).
InitializeBuildStatus:
  Creating "jsoncheck.dir\Debug\jsoncheck.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  jsoncheck.vcxproj -> C:\simdjson\tests\Debug\jsoncheck.exe
FinalizeBuildStatus:
  Deleting file "jsoncheck.dir\Debug\jsoncheck.tlog\unsuccessfulbuild".
  Touching "jsoncheck.dir\Debug\jsoncheck.tlog\jsoncheck.lastbuildstate".
Done Building Project "C:\simdjson\tests\jsoncheck.vcxproj" (default targets).

Done Building Project "C:\simdjson\tests\jsoncheck.vcxproj.metaproj" (default targets).

Project "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (2) is building "C:\simdjson\tools\jsonstats.vcxproj.metaproj" (10) on node 1 (default targets).
Project "C:\simdjson\tools\jsonstats.vcxproj.metaproj" (10) is building "C:\simdjson\tools\jsonstats.vcxproj" (11) on node 1 (default targets).
InitializeBuildStatus:
  Creating "jsonstats.dir\Debug\jsonstats.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  jsonstats.vcxproj -> C:\simdjson\tools\Debug\jsonstats.exe
FinalizeBuildStatus:
  Deleting file "jsonstats.dir\Debug\jsonstats.tlog\unsuccessfulbuild".
  Touching "jsonstats.dir\Debug\jsonstats.tlog\jsonstats.lastbuildstate".
Done Building Project "C:\simdjson\tools\jsonstats.vcxproj" (default targets).

Done Building Project "C:\simdjson\tools\jsonstats.vcxproj.metaproj" (default targets).

Project "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (2) is building "C:\simdjson\tools\minify.vcxproj.metaproj" (12) on node 1 (default targets).
Project "C:\simdjson\tools\minify.vcxproj.metaproj" (12) is building "C:\simdjson\tools\minify.vcxproj" (13) on node 1 (default targets).
InitializeBuildStatus:
  Creating "minify.dir\Debug\minify.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  minify.vcxproj -> C:\simdjson\tools\Debug\minify.exe
FinalizeBuildStatus:
  Deleting file "minify.dir\Debug\minify.tlog\unsuccessfulbuild".
  Touching "minify.dir\Debug\minify.tlog\minify.lastbuildstate".
Done Building Project "C:\simdjson\tools\minify.vcxproj" (default targets).

Done Building Project "C:\simdjson\tools\minify.vcxproj.metaproj" (default targets).

Project "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (2) is building "C:\simdjson\benchmark\parse.vcxproj.metaproj" (14) on node 1 (default targets).
Project "C:\simdjson\benchmark\parse.vcxproj.metaproj" (14) is building "C:\simdjson\benchmark\parse.vcxproj" (15) on node 1 (default targets).
InitializeBuildStatus:
  Creating "parse.dir\Debug\parse.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  parse.vcxproj -> C:\simdjson\benchmark\Debug\parse.exe
FinalizeBuildStatus:
  Deleting file "parse.dir\Debug\parse.tlog\unsuccessfulbuild".
  Touching "parse.dir\Debug\parse.tlog\parse.lastbuildstate".
Done Building Project "C:\simdjson\benchmark\parse.vcxproj" (default targets).

Done Building Project "C:\simdjson\benchmark\parse.vcxproj.metaproj" (default targets).

Project "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (2) is building "C:\simdjson\tests\singleheader.vcxproj.metaproj" (16) on node 1 (default targets).
Project "C:\simdjson\tests\singleheader.vcxproj.metaproj" (16) is building "C:\simdjson\tests\singleheader.vcxproj" (17) on node 1 (default targets).
InitializeBuildStatus:
  Creating "singleheader.dir\Debug\singleheader.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  singleheader.vcxproj -> C:\simdjson\tests\Debug\singleheader.exe
FinalizeBuildStatus:
  Deleting file "singleheader.dir\Debug\singleheader.tlog\unsuccessfulbuild".
  Touching "singleheader.dir\Debug\singleheader.tlog\singleheader.lastbuildstate".
Done Building Project "C:\simdjson\tests\singleheader.vcxproj" (default targets).

Done Building Project "C:\simdjson\tests\singleheader.vcxproj.metaproj" (default targets).

Project "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (2) is building "C:\simdjson\benchmark\statisticalmodel.vcxproj.metaproj" (18) on node 1 (default targets).
Project "C:\simdjson\benchmark\statisticalmodel.vcxproj.metaproj" (18) is building "C:\simdjson\benchmark\statisticalmodel.vcxproj" (19) on node 1 (default targets).
InitializeBuildStatus:
  Creating "statisticalmodel.dir\Debug\statisticalmodel.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  statisticalmodel.vcxproj -> C:\simdjson\benchmark\Debug\statisticalmodel.exe
FinalizeBuildStatus:
  Deleting file "statisticalmodel.dir\Debug\statisticalmodel.tlog\unsuccessfulbuild".
  Touching "statisticalmodel.dir\Debug\statisticalmodel.tlog\statisticalmodel.lastbuildstate".
Done Building Project "C:\simdjson\benchmark\statisticalmodel.vcxproj" (default targets).

Done Building Project "C:\simdjson\benchmark\statisticalmodel.vcxproj.metaproj" (default targets).

Project "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (2) is building "C:\simdjson\ALL_BUILD.vcxproj" (20) on node 1 (default targets).
InitializeBuildStatus:
  Creating "x64\Debug\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
FinalizeBuildStatus:
  Deleting file "x64\Debug\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild".
  Touching "x64\Debug\ALL_BUILD\ALL_BUILD.tlog\ALL_BUILD.lastbuildstate".
Done Building Project "C:\simdjson\ALL_BUILD.vcxproj" (default targets).

Done Building Project "C:\simdjson\ALL_BUILD.vcxproj.metaproj" (default targets).

Done Building Project "C:\simdjson\simdjson.sln" (default targets).


Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:02.33

// binding.gyp
{
    "targets": [{
        "target_name": "simdjson",
        "cflags!": [ "-fno-exceptions" ],
        "cflags_cc!": [ "-fno-exceptions" ],
        "sources": [
            "simdjson/main.cpp",
            "simdjson/bindings.cpp",
        ],
        "include_dirs": [
            "<!@(node -p \"require('node-addon-api').include\")"
        ],
+        "libraries": ["C:\simdjson_nodejs\simdjson.dll"],
        "dependencies": [
            "<!(node -p \"require('node-addon-api').gyp\")"
        ],
        "defines": [ "NAPI_DISABLE_CPP_EXCEPTIONS" ]
    }]
}
C:\simdjson>cd ..

C:\>cd simdjson_nodejs

C:\simdjson_nodejs>yarn
yarn install v1.13.0-20181107.1254
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] Resolving packages...
success Already up-to-date.
$ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@10.10.0 | win32 | x64
gyp info spawn C:\Python27\python.exe
gyp info spawn args [ 'C:\\simdjson_nodejs\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=2015',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\1234\\.node-gyp\\10.10.0\\include\\node\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\1234\\.node-gyp\\10.10.0',
gyp info spawn args   '-Dnode_gyp_dir=C:\\simdjson_nodejs\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\1234\\.node-gyp\\10.10.0\\<(target_arch)\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\simdjson_nodejs',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\simdjson_nodejs\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  nothing.vcxproj -> C:\simdjson_nodejs\build\Release\\nothing.lib
  main.cpp
  bindings.cpp
  win_delay_load_hook.cc
C:\simdjson_nodejs\simdjson.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x348 [C:\simdjson_nodejs\build\simdjson.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\simdjson_nodejs\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\simdjson_nodejs\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\simdjson_nodejs
gyp ERR! node -v v10.10.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

@davalapar
Copy link
Contributor Author

+                "AdditionalOptions": ['/std:c++17', "/arch:AVX2", "/Od", "/Zi", "/EHsc"]
C:\simdjson_nodejs>yarn
yarn install v1.13.0-20181107.1254
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] Resolving packages...
success Already up-to-date.
$ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@10.10.0 | win32 | x64
gyp info spawn C:\Python27\python.exe
gyp info spawn args [ 'C:\\simdjson_nodejs\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=2015',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\1234\\.node-gyp\\10.10.0\\include\\node\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\1234\\.node-gyp\\10.10.0',
gyp info spawn args   '-Dnode_gyp_dir=C:\\simdjson_nodejs\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\1234\\.node-gyp\\10.10.0\\<(target_arch)\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\simdjson_nodejs',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\simdjson_nodejs\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  main.cpp
  nonavx2.cpp
  win_delay_load_hook.cc
     Creating library C:\simdjson_nodejs\build\Release\simdjson.lib and object C:\simdjson_nodejs\build\Release\simdjson.exp
  Generating code
  All 79 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  Finished generating code
  simdjson.vcxproj -> C:\simdjson_nodejs\build\Release\\simdjson.node
cl : Command line warning D9025: overriding '/Ox' with '/Od' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9025: overriding '/Ox' with '/Od' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  main.cpp
cl : Command line warning D9025: overriding '/Ox' with '/Od' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9025: overriding '/Ox' with '/Od' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
cl : Command line warning D9025: overriding '/Ox' with '/Od' [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
  simdjson.cpp
  bindings.cpp
  win_delay_load_hook.cc
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing': conversion from 'int64_t' to 'int', possible loss of data (compiling source file ..\simd
json\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus operator applied to unsigned type, result still unsigned (compiling source file ..\simdjson\
src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data (compiling source file ..\simd
json\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing': conversion from 'int64_t' to 'double', possible loss of data (compiling source file ..\s
imdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(163): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(246): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(258): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing': conversion from 'int64_t' to 'int', possible loss of data (compiling source file ..\simd
json\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus operator applied to unsigned type, result still unsigned (compiling source file ..\simdjson\
bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data (compiling source file ..\simd
json\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing': conversion from 'int64_t' to 'double', possible loss of data (compiling source file ..\s
imdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.cpp(72): warning C4244: 'argument': conversion from 'int64_t' to 'double', possible loss of data [C:\simdjson_nodejs\build\simdjson-a
vx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing': conversion from 'int64_t' to 'int', possible loss of data (compiling source file ..\simd
json\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus operator applied to unsigned type, result still unsigned (compiling source file ..\simdjson\
main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data (compiling source file ..\simd
json\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing': conversion from 'int64_t' to 'double', possible loss of data (compiling source file ..\s
imdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(439): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(494): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(617): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(672): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(850): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-
avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(862): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-
avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(874): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-
avx2.vcxproj]
     Creating library C:\simdjson_nodejs\build\Release\simdjson-avx2.lib and object C:\simdjson_nodejs\build\Release\simdjson-avx2.exp
  Generating code
  All 539 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  Finished generating code
  simdjson-avx2.vcxproj -> C:\simdjson_nodejs\build\Release\\simdjson-avx2.node
gyp info ok
Done in 9.89s.

+                "AdditionalOptions": ['/std:c++17', "/arch:AVX2", "/Ox", "/Zi", "/EHsc"]
yarn install v1.13.0-20181107.1254
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] Resolving packages...
success Already up-to-date.
$ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@10.10.0 | win32 | x64
gyp info spawn C:\Python27\python.exe
gyp info spawn args [ 'C:\\simdjson_nodejs\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=2015',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\simdjson_nodejs\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\1234\\.node-gyp\\10.10.0\\include\\node\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\1234\\.node-gyp\\10.10.0',
gyp info spawn args   '-Dnode_gyp_dir=C:\\simdjson_nodejs\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\1234\\.node-gyp\\10.10.0\\<(target_arch)\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\simdjson_nodejs',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\simdjson_nodejs\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  main.cpp
  nonavx2.cpp
  win_delay_load_hook.cc
     Creating library C:\simdjson_nodejs\build\Release\simdjson.lib and object C:\simdjson_nodejs\build\Release\simdjson.exp
  Generating code
  All 79 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  Finished generating code
  simdjson.vcxproj -> C:\simdjson_nodejs\build\Release\\simdjson.node
  main.cpp
  simdjson.cpp
  bindings.cpp
  win_delay_load_hook.cc
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(42): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(46): warning C4244: 'return': conversion from 'unsigned __int64' to 'int', possible loss of data (compiling source file ..\simd
json\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\src\simdjson.cpp) [C:\simdjs
on_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing': conversion from 'int64_t' to 'int', possible loss of data (compiling source file ..\simd
json\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus operator applied to unsigned type, result still unsigned (compiling source file ..\simdjson\
src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data (compiling source file ..\simd
json\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing': conversion from 'int64_t' to 'double', possible loss of data (compiling source file ..\s
imdjson\src\simdjson.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(163): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(246): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(258): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\main.cpp) [C:\simdjson_nodej
s\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing': conversion from 'int64_t' to 'int', possible loss of data (compiling source file ..\simd
json\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus operator applied to unsigned type, result still unsigned (compiling source file ..\simdjson\
main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data (compiling source file ..\simd
json\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing': conversion from 'int64_t' to 'double', possible loss of data (compiling source file ..\s
imdjson\main.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35592): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35644): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35646): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35649): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35651): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35677): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(35691): warning C4309: 'argument': truncation of constant value (compiling source file ..\simdjson\bindings.cpp) [C:\simdjson_n
odejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36473): warning C4244: 'initializing': conversion from 'int64_t' to 'int', possible loss of data (compiling source file ..\simd
json\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36557): warning C4146: unary minus operator applied to unsigned type, result still unsigned (compiling source file ..\simdjson\
bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36652): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data (compiling source file ..\simd
json\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.h(36721): warning C4244: 'initializing': conversion from 'int64_t' to 'double', possible loss of data (compiling source file ..\s
imdjson\bindings.cpp) [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\bindings.cpp(72): warning C4244: 'argument': conversion from 'int64_t' to 'double', possible loss of data [C:\simdjson_nodejs\build\simdjson-a
vx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(439): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(494): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(617): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(672): warning C4309: 'argument': truncation of constant value [C:\simdjson_nodejs\build\simdjson-avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(850): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-
avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(862): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-
avx2.vcxproj]
c:\simdjson_nodejs\simdjson\src\simdjson.cpp(874): warning C4244: '=': conversion from 'uint64_t' to 'uint32_t', possible loss of data [C:\simdjson_nodejs\build\simdjson-
avx2.vcxproj]
     Creating library C:\simdjson_nodejs\build\Release\simdjson-avx2.lib and object C:\simdjson_nodejs\build\Release\simdjson-avx2.exp
  Generating code
  All 539 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  Finished generating code
  simdjson-avx2.vcxproj -> C:\simdjson_nodejs\build\Release\\simdjson-avx2.node
gyp info ok
Done in 8.87s.

@luizperes
Copy link
Owner

Do any of them work?

@davalapar
Copy link
Contributor Author

Unfortunately not, none of them does

@davalapar
Copy link
Contributor Author

davalapar commented Mar 6, 2019

So yeah, it turns out that the main issue here (despite my recently updated Visual Studio Build Tools 2017 for latest node-gyp) is that my workstation processor (AMD A8 6XXX) does not support AVX2 instructions.

We've discovered this during a teamviewer session where we tried installing other npm modules that also uses AVX2 and noticed that all their build phases during installation are failing.

Long story short, the following must be in check:

Thanks @luizperes for your time and support!

@luizperes
Copy link
Owner

Thank you for the help too! This issue will be addressed on #3! Thanks! I will add an option to the readme file as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed windows Problems in Windows platform won't compile The code is not running
Projects
None yet
Development

No branches or pull requests

2 participants