- 博客(6)
- 收藏
- 关注
原创 记录一次动态库加载直接失败的debug过程。异常发生在for (_PVFV* it = first; it != last; ++it)
但是动态库实际没有m_lpReadCodeEX函数,所以加载失败,加载失败后,我把m_hReadBarCodeDll句柄释放了。我定义了全局变量类A的对象a,在类A的构造函数中创建了一个类B的对象b,在对象b的构造函数中加载了一个动态库的三个接口函数。原因:全局变量的初始化顺序是不确定的,需要避免在全局对象的构造函数中直接依赖其他全局变量。此时m_lpSetLogHandle指针是存在地址的,但是无法使用了。工程是一个动态库,修改着修改着突然生成的动态库无法加载了。我的情况和大佬的情况不太一样。
2025-04-17 10:35:24
308
原创 记录一次动态库加载失败问题,错误码-126
(1、不用QT的加载动态库方式,用LoadLibrary,有进展,报错-126,回归熟悉的感觉。这个驱动包被多个项目加载、使用,无论是QT的工具还是其他cmake编译的C++动态库。好了,前辈告诉我这样写琐碎的配置问题比较多,方案十分麻烦,但是你可以试一试。虽然使用动态库有一段时间,但是有时候新工程来的时候,还是会陷入动态库加载失败麻烦的排查中。把QT的动态库、动态库B、测试程序全换成MT。采用的是绝对路径,查看目录,文件存在,比对文件名,正确。在解决了一堆问题后,开始遇到了加载动态库B报错问题。
2025-04-01 14:57:36
193
原创 记录一次C++ Windows头文件包含顺序的问题
1>“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\CL.exe”中的内部编译器错误。1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\prsht.h(104,25): error C2065: “LPFNPSPCALLBACKA”: 未声明的标识符。
2025-02-24 13:51:07
331
原创 C++ opencv实现在背景图上贴图
inRange函数解析:筛选图中自己设定的颜色范围[lower,upper],若像素点颜色在范围内,则在生成矩阵中相应位置设为255(白色),否则为0(黑色)。copyTo函数解析:copyTo(OutputArray dst, InputArray mask) 可通过mask来设定贴图中会被复制的区域。非0时,复制像素点的值。如果贴图中主要部分存在背景色的像素点,也会被改为设置为不需要复制贴图的部分。有mask时,当mask像素点为0时,不复制像素点的数值,mask为可选参数,没有mask时,直接贴图。
2024-04-28 14:16:30
513
1
原创 从cmake解决 模块计算机类型“x86”与目标计算机类型“x64”冲突
可以通过在vs里设置配置项来修改为x86版本,但是需要设置的地方太多。按照网上检索的方法来做仍然没有解决。换个思路从cmake来设置成x86的。需要链接的动态库是32位的,而计算机是64位的,vs版本2019。-A设置 Win32。
2024-02-22 14:24:11
674
1
原创 visual studio 编译过程中出现红色波浪线,代码又没错,例如printf 不明确等
或者直接ctrl+A,ctrl+x,ctrl+v。剪切红色波浪线的代码再粘贴,红色消失。
2024-02-20 14:56:59
546
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人