Node.js 如何使用MSVC10编译器在x64 windows上的节点画布中启用jpeg支持?

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;

我需要在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;
(它使用.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'
              ]
            }]
          ]
        }]