使用了动态库的程序运行说明以CAN通信编程为例

带有动态库的运行说明
1 找设备相关的动态库
周立功转换盒,运行时的动态库是ZLG周立功USB系列的第三方CAN设备的库,即ControlCAN.dll和kerneldlls目录。其中kerneldlls目录以及其目录下的库文件均需要。
吉阳光电的CAN设备运行时需要VCI_CAN.dll和SiUSBXp.dll
注意DLL文件区分32位或64位,需要注意两者必须匹配。建议先采用32位使用。

注意区别DLL文件和LIB文件:
在运行时,采用的是DLL文件,开发时采用的是.lib文件和.h文件。

注意先要安装好厂家提供的设备驱动程序,并打开测试程序,可以使用之后,再测试动态库文件。

2 找Qt相关的动态库
Qt的库可以在系统的开始菜单下,找到Qt程序安装时生成的命令行窗口(不同的编译环境下有不同的命令行)打开命令行终端后,输入windeployqt E:\exe\xxxx.exe回车,其中xxxx.exe为编译后生成的.exe文件。(具体请参考程序发布部署方法)

3 相对路径问题
在集成开发环境下运行程序调试时,默认工作目录是”debug或release”上一级目录,即exe可执行程序所在目录的父目录,该目录为当前目录。
因此,在调试时,对于周立功设备需要将ControlCAN.dll和kerneldlls目录拷贝到类似“build-ZCanIdTool-Desktop_Qt_5_10_1_MinGW_32bit-Debug”文件夹下。
对于吉阳光电的CAN设备需要拷贝VCI_CAN.dll和SiUSBXp.dll到build-XXXXX-Release目录下。

若而在发布时,脱离集成开发环境直接运行程序,工作目录则是*.exe所在目录。需要拷贝到exe目录即可。

32Author Mark-Q32000-
28Author Mark-Q-28121

上一篇:windows-权限维持IFEO映像劫持


下一篇:Python 防止反编译