如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
环境:
OS : windows 7 64bit
nodejs : 10.153
node-gyp : 6.0.0
编译器 :vs2017
Python : 2.7.15
PostgreSQL: 10.0.10
前言
前面的文章(nodejs在Windows下c++插件编译和nodejs在Linux下c++插件运行)介绍了如何在nodejs中编写C++的插件,那么cpp编程中不可避免会引用第三方库。本文以PostgresSQL的libpq.dll为例,介绍C++插件addon中如何使用第三方库。
在安装目录找到include和lib文件夹,这两个文件夹中有libpq-fe.h头文件和libpq.lib。
hello.cc
#include
#include
using namespace v8;
#include "include/libpq-fe.h"
void Method(const v8::FunctionCallbackInfo &args)
{
Isolate *isolate = Isolate::GetCurrent();
HandleScope scope(isolate);
args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world"));
}
void Init(Handle
{
"targets": [
{
"target_name": "hello",
"sources": ["hello.cc"],
'include_dirs': [
"/include"
],
'libraries': [
"/lib/libpq.lib"
]
}
]
}
node-gyp configure
node-gyp build
https://www.postgresql.org/ftp/odbc/versions/mm/
https://ftp.postgresql.org/pub/odbc/versions/mm/psqlodbc_10_03_0000-x64.zip
安装后将所有dll放到.ndoe目录下。
或者将postgresql安装自带的libpq.dll及依赖放到.ndoe目录下。
hello.js
//hello.js
var addon = require('./build/Release/hello.node');
console.log(addon.hello()); // 'world'
运行hello.js
通过hello.js调用hello.node,hello.node调用libpq.dll。
觉得文章对你有帮助,可以扫描二维码捐赠给博主,谢谢!
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
License
License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎
Reference:
1.http://nodejs.cn/api/addons.html
2.https://www.jianshu.com/p/8a9f4304557c
3.https://www.npmjs.com/package/node-gyp
4.https://github.com/felixrieseberg/windows-build-tools
5.https://www.postgresql.org/ftp/odbc/versions/