如何解决在 Node.js 中使用现有的 C 代码作为本机附加组件
我以前从未接触过 C 或 C++,所以请善待我:) 我想将此 Repo 中的此 C 代码用作节点模块:
https://github.com/torvalds/pesconvert
我读到这可以通过 Node.Js Native Addons 来完成,但我能找到的所有示例都是关于集成 C++ 代码的。
我已经安装了 node-gyp 和 windows-build-tools 来编译代码,但是因为我使用的是 windows,所需的 png.h 库没有本地安装。我下载了 libpng V1.6.37 并将其复制到我的项目中的 lib/lpng1637
目录中。
现在我必须编写 binding.gyp 文件,但我不知道如何编写它以便正确包含库。
'targets': [
{
'target_name': 'pesconvert','sources': [ 'pes.c','png.c','svg.c','main.c','cairo.c','pes.h'
],'include_dirs' : ['lib/lpng1637'],'dependencies' : ['libpng'],'libraries': ['-L/lib/lpng1637/libpng.a']
},{
'target_name': 'libpng','type': 'static_library','sources': [ 'png.h','pngconf.h','pngdebug.h','pnginfo.h','pngpriv.h','pngstruct.h','example.h','pngerror.c','pngget.c','pngmem.c','pngpread.c','pngread.c','pngrio.c','pngrtran.c','pngrutil.c','pngset.c','pngtest.c','pngtrans.c','pngwio.c','pngwrite.c','pngwtran.c','pngwutil.c'
],'include_dirs' : ['lib/lpng1637']
}
]
}
我尝试了很多变体,这是我最新的masterpeace...目录中甚至没有 .a 文件。 所以我的关键问题是:我必须在我的 binding.gyp 文件中写什么才能正确引用 libpng-Library?
我会很高兴收到各种提示或附加信息!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。