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

win10 X64, VS2013, nodejieba@2.2.2 编译不成功 #65

Closed
ClockGet opened this issue Aug 9, 2016 · 9 comments
Closed

win10 X64, VS2013, nodejieba@2.2.2 编译不成功 #65

ClockGet opened this issue Aug 9, 2016 · 9 comments

Comments

@ClockGet
Copy link

ClockGet commented Aug 9, 2016

excute post install scripts...
[nodejieba@2.2.2] scripts.install: "node-gyp rebuild" at .\node_modules.npminstall\nodejieba\2.2.2\nodejieba
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
index.cpp
nodejieba.cpp
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\lib\utils.h(19): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\nodejieba.cpp) [C:\Users\Administrator\WebstormProjects\crawl
er\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\lib\utils.h(19): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\index.cpp) [C:\Users\Administrator\WebstormProjects\crawler\n
ode_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\lib\utils.h(35): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\index.cpp) [C:\Users\Administrator\WebstormProjects\crawler\n
ode_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\lib\utils.h(35): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\nodejieba.cpp) [C:\Users\Administrator\WebstormProjects\crawl
er\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\lib\utils.h(51): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\index.cpp) [C:\Users\Administrator\WebstormProjects\crawler\n
ode_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\lib\utils.h(51): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\nodejieba.cpp) [C:\Users\Administrator\WebstormProjects\crawl
er\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nan\2.3.5\nan\nan_new.h(208): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 (..\lib\index.cpp) [C:\Users\Administrator\WebstormProjects\crawler\node_modules.npmin
stall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\lib\utils.h(17): 参见对正在编译的函数 模板 实例化“v8::Localv8::Array Nan::New<v8::Array,unsigned __int64>(A0)”的引用
with
[
A0=unsigned __int64
]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\Unicode.hpp(141): warning C4267: “参数”: 从“size_t”转换到“uint32_t”,可能丢失数据 (..\lib\nodejieba.cpp) [C:\Users\Administrator\Webstor
mProjects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\SegmentBase.hpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 (..\lib\nodejieba.cpp) [C:\Users\Admin
istrator\WebstormProjects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\SegmentBase.hpp(11): error C2001: 常量中有换行符 (..\lib\nodejieba.cpp) [C:\Users\Administrator\WebstormProjects\crawler\node_modu
les.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\SegmentBase.hpp(13): error C2143: 语法错误 : 缺少“;”(在“using”的前面) (..\lib\nodejieba.cpp) [C:\Users\Administrator\WebstormProjects
\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\FullSegment.hpp(76): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据 (..\lib\nodejieba.cpp) [C:\Users\Administrator\WebstormPr
ojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\SegmentTagged.hpp(8): warning C4099: “cppjieba::DictTrie”: 类型名称以前使用“class”现在使用的是“struct” (..\lib\nodejieba.cpp) [C:\Users\A
dministrator\WebstormProjects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\DictTrie.hpp(27) : 参见“cppjieba::DictTrie”的声明
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\SegmentTagged.hpp(19): warning C4099: “cppjieba::DictTrie”: 类型名称以前使用“class”现在使用的是“struct” (..\lib\nodejieba.cpp) [C:\Users
Administrator\WebstormProjects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\DictTrie.hpp(27) : 参见“cppjieba::DictTrie”的声明
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\HMMSegment.hpp(162): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据 (..\lib\nodejieba.cpp) [C:\Users\Administrator\WebstormPr
ojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
c:\users\administrator\webstormprojects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\deps\cppjieba\HMMSegment.hpp(178): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据 (..\lib\nodejieba.cpp) [C:\Users\Administrator\Webstorm
Projects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba\build\nodejieba.vcxproj]
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 (D:\nodejs\node-global\node_modules\cnpm\node_modules\npminstall\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "D:\nodejs\node.exe" "D:\nodejs\node-global\node_modules\cnpm\node_modules\npminstall\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Administrator\WebstormProjects\crawler\node_modules.npminstall\nodejieba\2.2.2\nodejieba
gyp ERR! node -v v4.4.7
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
Error: post install error, please remove node_modules before retry!
Run "C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild" error, exit code 1
Error: post install error, please remove node_modules before retry!
Run "C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild" error, exit code 1
at ChildProcess. (D:\nodejs\node-global\node_modules\cnpm\node_modules\npminstall\node_modules\runscript\index.js:67:21)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:172:7)
at maybeClose (internal/child_process.js:827:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)

@ClockGet
Copy link
Author

ClockGet commented Aug 9, 2016

我自己又解决了,把deps\cppjieba下面的SegmentBase.hpp文件用notepad打开然后在另存为保存为utf-8格式(话说原本就是utf-8格式啊),然后用vs打开build目录下边的binding.sln接着编译就好了。

@uoiszero
Copy link

同样的问题,win10 x64 vs2015 nodejs 4.4.7

@yanyiwu
Copy link
Collaborator

yanyiwu commented Aug 10, 2016

@uoiszero 你的楼上不是已经给出解决办法了吗

@yanyiwu
Copy link
Collaborator

yanyiwu commented Aug 10, 2016

也可以试试 2.2.3 版本,我尝试修复了这个苛刻的编译器问题。

@ClockGet
Copy link
Author

@yanyiwu (๑•̀ㅂ•́)و✧

@yanyiwu
Copy link
Collaborator

yanyiwu commented Aug 11, 2016

@ClockGet 试了2.2.3 了吗?可以不?

@ClockGet
Copy link
Author

@yanyiwu 试了,没问题!

@uoiszero
Copy link

@yanyiwu 非常感谢

@mygoodboy
Copy link

直接下載(非用npm)
在win10
Index.js require 資料夾build
可是下載包裡面沒有

使用node test.js後

存成了utf-8也不行
謝謝大家

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants