| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> node-ffi调用C++编译的动态链接库踩坑记录 -> 正文阅读 |
|
[C++知识库]node-ffi调用C++编译的动态链接库踩坑记录 |
node-ffi调用C++编译的动态链接库踩坑记录前言
一、安装相关依赖旧版node-ffi不支持高版本的node环境,其他博主也有详细介绍,我就不再赘述了,现在使用V12以上的node版本需要用到 安装好node-gyp的环境以后现在安装ffi-napi相关的库,官方仓库github
二、使用步骤1.准备好动态链接库使用Viasual Studio 2017新建一个dll的项目 然后分别在头文件
别忘记按住 然后编译成dll文件注意:编译的时候默认编译成64位的就行了
1.引入库在项目中新建一个 index.js代码如下(示例):
然后在控制台执行
如果遇到了类似这样的报错, 请查看相关博客描述常见的错误信息,在这里我也不做赘述了,Electron——常见动态链错误 dll查看器的使用在调试过程中如果遇到了
第三种情况就可以使用dll查看器检查你的dll文件是否有问题,参考Win10 查看 DLL 中的函数 我会将这个dll查看器上传到我的资源我的资源中,方便大家下载,免费的哦 把工具下载好了以后,解压文件,找到 那我们现在打开一个有问题的dll文件,(这个dll文件是通过Cmake的方式编译的,这个dll文件还依赖了mingw的dll文件)
由于该动态链接库是Cmake编译的,而且在编译的时候选择了动态库的形式,所以把这个编译出来的dll库放到其他环境可能就无法运行。最好的解决办法就是编译成静态库,简单的说就是把你编译的目标dll文件所依赖的dll文件一起打包,就像克隆别人的代码仓库,把别人的代码仓库里面的 __declspec(dllexport)关键字还有一个关键的地方就是在 下面放两张参考图 总结总之踩了各种各样的坑终于把Cmake编译的dll文件跑起来了,踩坑的原因也是因为自己对C++不熟悉,对Cmake不熟悉,对编译原理不熟悉,填坑的时候耗费了大量的时间去查资料。希望对大家有帮助。最好来个一键三联鼓励一下,以后我会多多分享开发中常见的填坑技巧。谢谢大家🎉? |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 18:33:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |