如题所示,这个问题是我在electron项目中使用ffi调用动态链接库出现的,本机运行都好好的,打包构建然后放到别的机器上运行出错。
这个问题一度也让我很迷茫,如果是路径导致的这个问题,那么把路径指定正确就可以了,但是偏偏路径也是对的,就是报错。那应该是环境问题。
我为什么要使用ffi调用动态链接库?我的需求是这样的,需要编程实现tcpip方式连接诺德施瓦茨仪表设备cmw500,其实就是visa编程了,我开始通过c语言简单实现了这个功能,以为万事大吉了,然后写了一个动态链接库,让electron项目去调用,因为node方面对visa操作的很少,网上唯一可以搜到的一个链接就是github上的这个:https://github.com/petertorelli/ni-visa。我当时没有细看,也不确定这个方式可不可靠。
自己写的动态链接库代码:
pch.h
#ifdef PCH_H
#else
#define PCH_H extern "C" _declspec(dllimport)
// add headers that you want to pre-compile here
#include "framework.h"
#endif //PCH_H
PCH_H void QueryMeasureResult(char* source,char* cmd,char* result);
pch.cpp
// pch.cpp: source file corresponding to the pre-compiled header
#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_D