前言:遇到的问题:无法导入对应的dll动态链接库,最后发现可能是因为dll是32位的,而编译器是64位的,最后发现一共有两个dll,不能只导入一个,因为其中一个的实现需要另一个dll来支持。
* 开发环境必须是QTcreater32bit msvc32bit,因为PacPci2和PCIAPI是32bit的dll
* 0.隐式调用必须有三个文件,dll文件,lib文件,.h文件
* 1.将lib,dll文件放入对应debug构建的目录下,然后右键项目-添加外部库-添加静态库文件-默认操作完成就行
* 2.头文件放在项目目录下,必须将dll中的头文件全部包含进来才行,否则会造成函数没有定义无法调用
* 3.extern "C"这句话也要加,以c语言的规则进行对应函数的编译
* 4.必须同时加入PacPci2和PCIAPI两个dll文件,一体的,不可以分开
总的说一句:
显式调用:需要在程序里使用语句将DLL导入,打开共享库,使用后再关闭。
隐式调用:不需要使用语句导入,直接调用即可。
---------------------
转自:https://blog.csdn.net/spenghui/article/details/42193147
参考:https://blog.csdn.net/xuancailinggan/article/details/51874015