Node.js 如何使用MSVC10编译器在x64 windows上的节点画布中启用jpeg支持?
我需要在nodejs服务器端渲染jpeg图像。我安装canvas npm模块 使用以下生成说明: 我有手册中提到的C:\libjpeg turbo\。如果我这样做: npm安装画布 那么这段代码不会启动onload:Node.js 如何使用MSVC10编译器在x64 windows上的节点画布中启用jpeg支持?,node.js,windows,npm,node-canvas,Node.js,Windows,Npm,Node Canvas,我需要在nodejs服务器端渲染jpeg图像。我安装canvas npm模块 使用以下生成说明: 我有手册中提到的C:\libjpeg turbo\。如果我这样做: npm安装画布 那么这段代码不会启动onload: var data = fs.readFileSync("./t.jpg"); var img = new Image(); img.onload = function () { console.log("onload"); }; img.src = data;
var data = fs.readFileSync("./t.jpg"); var img = new Image();
img.onload = function () {
console.log("onload");
};
img.src = data;
(它使用.png数据)。如果我在命令行中指定--with jpeg,那么MSVC会抱怨缺少libjpeg.h。就在这个npm用msvc项目删除文件之后,所以我自己无法设置路径(有可能关闭这个清理吗?)
那么,如何为支持jpeg的windows构建画布呢?在网上找到了有关此主题的问题但没有答案。在我看来binding.gyp在第143行缺少“include#u dirs”指令,因此编译器可以在C:\libjpeg turbo\目录中找到libjpeg.h。尝试插入:
'include_dirs': [
'c:/libjpeg-turbo',
],
安装MSVC10和64位NodeJ。 构建失败时,请使用以下分发方式,您可以在网上找到:
- 将gtk+-bundle_2.22.1-20101229_win64.zip解压缩到c:/gtk。用这个 版本,别人为我失败了
- 将libjpeg-turbo-1.4.0-vc64.exe设置为C:\libjpeg-turbo(32位libs 将失败,没有任何意义的信息)
- 去医院 .\node\u modules\canvas\build\并修改binding.gyp。添加 “变量”:
['with_jpeg=="true"', {
'defines': [
'HAVE_JPEG'
],
'conditions': [
['OS=="win"', {
'libraries': [
'-l<(libjpeg_root)/lib/jpeg-static.lib','-l<(libjpeg_root)/lib/jpeg.lib'
],
'include_dirs': [
'<(libjpeg_root)/include'
]
}, {
'libraries': [
'-ljpeg'
]
}]
]
}]
['with_jpeg==“true”{
“定义”:[
“HAVE_JPEG”
],
“条件”:[
['OS=='win'{
‘图书馆’:[
'-l
['with_jpeg=="true"', {
'defines': [
'HAVE_JPEG'
],
'conditions': [
['OS=="win"', {
'libraries': [
'-l<(libjpeg_root)/lib/jpeg-static.lib','-l<(libjpeg_root)/lib/jpeg.lib'
],
'include_dirs': [
'<(libjpeg_root)/include'
]
}, {
'libraries': [
'-ljpeg'
]
}]
]
}]