JoshuaWise / integer

Native 64-bit integers with overflow protection.
MIT License
19 stars 9 forks source link

Receiving compiler error c2144 #4

Closed nullivex closed 6 years ago

nullivex commented 6 years ago

Hi,

I am on Windows 10 64 bit. Ill printout some more details below. I am receiving a this compiler error: https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2144 on these lines: https://github.com/JoshuaWise/integer/blob/master/src/integer.cpp#L392

Here is the build log

C:\Users\Mac\WebstormProjects\foobar>npm install better-sqlite3 --save
npm WARN lifecycle The node binary used for scripts is c:\program files (x86)\nodist\bin\node.exe but npm is using C:\Program Files (x86)\Nodist\v-x64\8.9.1\node.exe itself. Use the `
--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.

> integer@1.0.3 install C:\Users\Mac\WebstormProjects\foobar\node_modules\integer
> node tools/install

C:\Users\Mac\WebstormProjects\foobar\node_modules\integer>if not defined npm_config_node_gyp (node "C:\Program Files (x86)\Nodist\npmv\5.5.1\bin\node-gyp-bin\\..\..\node_modules\node-
gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  integer.cpp
  win_delay_load_hook.cc
..\src\integer.cpp(392): error C2144: syntax error : 'double' should be preceded by ';' [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\integer.vcxproj]
..\src\integer.cpp(392): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\in
teger.vcxproj]
..\src\integer.cpp(393): error C2144: syntax error : 'double' should be preceded by ';' [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\integer.vcxproj]
..\src\integer.cpp(393): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\in
teger.vcxproj]
..\src\integer.cpp(393): error C2086: 'int Integer::constexpr' : redefinition [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\integer.vcxproj]
          ..\src\integer.cpp(392) : see declaration of 'Integer::constexpr'
..\src\integer.cpp(394): error C2146: syntax error : missing ';' before identifier 'uint64_t' [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\integer.vcxproj]
..\src\integer.cpp(394): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\in
teger.vcxproj]
..\src\integer.cpp(394): error C2086: 'int Integer::constexpr' : redefinition [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\integer.vcxproj]
          ..\src\integer.cpp(392) : see declaration of 'Integer::constexpr'
..\src\integer.cpp(395): error C2146: syntax error : missing ';' before identifier 'uint64_t' [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\integer.vcxproj]
..\src\integer.cpp(395): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\in
teger.vcxproj]
..\src\integer.cpp(395): error C2086: 'int Integer::constexpr' : redefinition [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\integer.vcxproj]
          ..\src\integer.cpp(392) : see declaration of 'Integer::constexpr'
..\src\integer.cpp(127): error C2597: illegal reference to non-static member 'Integer::U32_in_U64' [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\integer.vcxproj]
..\src\integer.cpp(127): error C3867: 'Integer::U32_in_U64': function call missing argument list; use '&Integer::U32_in_U64' to create a pointer to member [C:\Users\Mac\WebstormProje
cts\foobar\node_modules\integer\build\integer.vcxproj]
..\src\integer.cpp(127): error C2568: '&' : unable to resolve function overload [C:\Users\Mac\WebstormProjects\foobar\node_modules\integer\build\integer.vcxproj]
          unable to recover from previous error(s); stopping compilation
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files (x86)\Nodist\npmv\5.5.1\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 10.0.16299
gyp ERR! command "C:\\Program Files (x86)\\Nodist\\v-x64\\8.9.1\\node.exe" "C:\\Program Files (x86)\\Nodist\\npmv\\5.5.1\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Mac\WebstormProjects\foobar\node_modules\integer
gyp ERR! node -v v8.9.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! integer@1.0.3 install: `node tools/install`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the integer@1.0.3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Mac\AppData\Roaming\npm-cache\_logs\2018-01-22T19_11_19_892Z-debug.log

C:\Users\Mac\WebstormProjects\foobar>

Is there a workaround or anything I can change to get this working?

Thanks

JoshuaWise commented 6 years ago

Is this issue fixed via this comment?

https://github.com/JoshuaWise/better-sqlite3/issues/79#issuecomment-359542121

nullivex commented 6 years ago

Yes and I am closing