- 博客(31)
- 收藏
- 关注
原创 windows下指定CMake编译时的sdk版本
打开CMake-gui,在第一次configure之前。这是一种方法,还有其他的。如果编译中,本身就有。可供我们修改,那其实之后在修改也一样。
2024-10-18 15:32:34 222
原创 Qt 无法定位程序输入点
我项目使用的编译器是MSVC 2022。所以请将下面那个bin文件夹路径上移。然后对项目清理,重新构建。如果您确认自己的dll自身和它放置的位置都没有问题,那么请打开自己计算机的环境变量。不会打开的去到下图,打开高级系统设置,打开环境变量。
2024-09-10 16:45:17 370
原创 Qt 构建报错 undefined reference to xxx
我原本是使用visual studio的,我之前为visual studio 2022自己编译了OpenCV的库。因为我这里选择的是MinGW编译器,他必然不同于2022使用的MSVC 2022。而我这里是自己采用MSVC 2022编译的库,自然会出问题。能走到这一步,基本上头文件include没啥问题,注意一下lib的路径并且要链接上,如果是动态库的话,还要注意把dll文件放置到exe路径中。这是个典型报错,熟练vs与c++的朋友一眼就可以看出要么是库出问题了,要么是库链接出问题了。
2024-09-10 16:32:27 630
原创 OpenCV编译指南-Windows-CMake
获取到所需动态或静态库后,就可以根据需要开发自己的功能啦。文章仅根据个人经验,如有纰漏,还请斧正!
2024-08-19 08:47:59 908
原创 编译OpenCV:CMake Download failed与编译时无法解析的外部符号 cv::xfeatures2d::VGG::getDefaultName 等问题的彻底解决
配合本人OpenCV编译博客:所以先说在第一次纠错中出现的问题,后说关于编译时出现LINK2001或者LINK2019:无法解析的外部符号 cv::xfeatures2d::VGG::getDefaultName 的问题,诸位按需根据目录跳转。
2024-08-19 08:40:38 944 2
原创 Glog编译指南-Windows-CMake
天下苦秦久矣!是否还在为不知道如何编译GLOG而苦恼?是否还在为编译的是静态库还是动态库而困惑?是否还在为编译完后如何使用而抓狂?看这个就够了!本文讲解glog下载、编译与简单配置使用,其余详细的那些有大把的博客在讲,可参阅别文。
2024-02-22 10:50:06 1389
原创 Visual Assist安装破解流程以及中文注释红色波浪线问题
之后找到Visual Assist安装路径,将压缩包中crack中的文件VAX.dll改名VA_X.dll替换到安装路径下即可使用。单击exe打开属性,在兼容性标签下选择以兼容模式运行,确定后就可以双击运行安装在win10以上系统了。权作记录防止忘记,安装包自寻。
2024-01-23 18:16:11 1945
原创 TinyXML库的下载与使用
而我这里使用方式是在我的项目中将其编译成.lib使用。如图,我在解决方案中新建了个TinyXml项目。将这个项目配置为.lib,设置好输出目录。使用时,在需要用到项目中配置添加该静态库,并包含头文件即可。注意,头文件的添加需要注意头文件位置,我这里将tinyxml.h放在了TinyXml文件夹中。最简单的使用方法:将上图标志的六个文件添加到项目中,之后在需要使用的文件里添加头文件。
2023-12-08 16:24:18 837
原创 实战——C++如何读取XML配置文件
首先需要搞定配置文件路径,这个功能不难,利用GetModuleFileNameA()、find_last_of()与。得到配置文件路径后就可以读取啦。其中用到TinyXML库,如何使用参见博客:(先空着没写呢)()配合就可以得到,这里不赘述。至于这几个函数作用,见置顶博客。读取内容如下的.xml文件。
2023-12-08 15:55:53 683
原创 解决 错误LNK2001无法解析的外部符号
要注意函数和变量的可公用性,只有全局变量、函数是可公用的。静态函数和静态变量具有相同的使用范围限制。当试图从文件外部访问任何没有在该文件内声明的静态变量时将导致编译错误或LNK2001。函数内声明的变量(局部变量) 只能在该函数的范围内使用。C++ 的全局常量只有静态连接性能。这不同于C,如果试图在C++的多个文件内使用全局变量也会产生LNK2001错误。一种解决的方法是需要时在 头文件中加入该常量的初始化代码,并在.CPP文件中包含该头文件;另一种 方法是使用时给该变量赋以常数。
2023-12-07 16:39:47 913 1
原创 解决多项目上报错LNK2019 无法解析的外部符号 “public: __thiscall ..“,函数 _main 中引用了该符号 vs2022 C++
严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2019 无法解析的外部符号 "public: __thiscall ……" ,函数 _main 中引用了该符号 DataProcess。
2023-12-06 09:46:54 1046 1
原创 实战——BMP的读取与创建
这篇是为了实战读取一张BMP图像并将读完的数据写入另一幅BMP图,借此巩固一下对于BMP的理解和对文件操作相关函数的使用。
2023-11-30 14:19:37 456 1
原创 解决C4996 ‘fopen‘: This function or variable may be unsafe. Consider using fopen_s instead.
错误 C4996 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.在项目属性页找到C/C++下的预处理器,在其中的预处理器定义中添加_CRT_SECURE_NO_WARNINGS,完事后点击应用和确认。
2023-11-29 10:53:05 4126 1
原创 C++导入问题——使用BITMAPINFOHEADER最好导入Windows.h
一般在处理bmp图像时,需要使用BITMAPINFOHEADER用于定义信息头,用来后续接收bmp信息头信息。建议直接而不是<wingdi.h>。这时如果按照提示导入#include <wingdi.h>库文件,会发生很多报错,如下图这些错误都来自于导入的 <wingdi.h>库文件。
2023-11-29 10:27:56 513 1
原创 BMP(Bitmap-File)图形文件
BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源。Windows的图形用户界面(graphical user interfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持。提供文件的格式、大小等信息提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息。
2023-11-28 15:05:48 1561
原创 C/C++程序入口函数的输入问题
但是,在大多数IDE中,你可以手动配置命令行参数来模拟在命令行中输入命令。例如,你可以在IDE的配置或调试选项中设置命令行参数,以便在调试时传递特定的参数给程序。通过配置命令行参数,你可以模拟在命令行中输入命令并为程序提供相应的输入信息。这样,你可以在IDE中进行调试,并检查程序在不同输入情况下的行为。通过命令行参数,可以向程序传递输入信息,例如文件名、选项、参数等。是C/C++程序中的入口函数,它是程序的起点。函数是程序的起点,但可以通过命令行输入参数来提供额外的输入信息给程序使用。
2023-11-28 09:12:15 454
原创 conda下安装好opencv相关库后运行却报错The function is not implemented. Rebuild the library with Windows, GTK+ 2.x
在网上找了很多,大多的都提出通过pip unintall python-opencv-headless后再重新安装。才想起自己能跑的conda库里好像安装过python-opencv,但是是用pip安装的,我们可以通过pip list查看当前conda环境下的pip包,一查一对比,就尝试也pip安装下就成功了。至于原因,我难以深究,还请见谅。在新配置了一个环境后,为了图方便就在Anaconda Navigator里把opencv相关的勾选后安装了。其实也没什么问题,毕竟查询版本啥的都对。
2023-11-24 10:14:20 1374 1
原创 C++如何操作文件
FILE *fp;定义了一个指向FILE类型的指针变量fp。FILE是C语言中用于处理文件输入和输出的结构体类型。该指针可以用于打开、读取、写入和关闭文件等操作。
2023-11-20 14:41:20 52 1
原创 使用套接字进行通信
套接字(Socket)是计算机网络编程中的一个概念,用于在网络上进行通信。它是一种抽象的通信端点,可以通过网络进行数据的发送和接收。套接字提供了一种统一的编程接口,使得应用程序可以通过网络进行数据的传输和通信。它通过网络传输层协议(如TCP、UDP等)实现数据的可靠传输或者不可靠传输。套接字通常由以下几个要素组成:IP地址:用于标识网络上的主机或者设备。端口号:用于标识网络上的不同应用程序或者服务。协议:用于指定网络传输层协议,如TCP、UDP等。
2023-11-16 14:52:51 136 1
原创 如何在项目中使用线程
线程允许程序同时执行多个任务,可以将耗时的操作和需要并发处理的任务放在不同的线程中,从而提高程序的运行效率。类是C++标准库中用于创建和管理线程的类,它提供了一些成员函数和操作符,用于创建线程并执行指定的线程函数。函数就是Windows API提供的一个线程创建函数,用于创建一个新的线程并立即开始执行指定的线程函数。资源的同时访问:多个线程可以并发地访问共享资源,例如文件、数据库或网络连接,从而实现资源的高效利用。提高程序的响应能力:通过将耗时的操作放在后台线程中执行,可以使主线程保持响应,提高用户体验。
2023-11-15 16:05:05 69 1
原创 高版本visual studio如何打开低版本vs项目
以2022打开2017项目为例展示高版本visual studio如何打开低版本vs项目
2023-11-03 15:26:58 2342
原创 notepad++与Hex-Editor插件
如果需要使用Hex-Editor插件要下载32位系统的,官网应该就是那几个版本低的,还没试过。无法进官网可以自行百度下载。3、安装完毕之后,打开bmp图,可能还是乱码,点击插件,光标移动到HEX-Editor,点击View in HEX。2、notepad插件选项下有个插件管理,点进去。我这里下载好了,所以才会显示已经有hex了。进去之后找到HEX-Editor安装即可。1、下载notepad++
2023-11-01 16:08:33 1160
翻译 medianBlur()中值滤波
CV_8U表示每个像素可以使用8个二进制位来储存灰度级别,即256个灰度级别;CV_16U表示每个像素可以使用16个二进制位来储存灰度级别,即65536个灰度级别;CV_32F表示每个像素可以使用32个二进制位来储存灰度级别,可以储存更精细的灰度级别。在OpenCV中,图像深度可以为CV_8U(8位无符号整数)、CV_16U(16位无符号整数)或CV_32F(32位浮点数)。当ksize为3或者5,那么图像深度应该为CV_8U、 CV_16U或者 CV_32F。多通道图像的每个通道都是独立处理的。
2023-09-14 16:49:00 103 1
原创 VMware里Windows7安装VMware Tools失败?跑去安装补丁也碰壁?看这一篇就够了
微软停止支持SHA-1签署的数字签名证书,要求改为使用SHA-2。但部分旧版微软系统本身并不支持SHA-2,这将导致在这些系统上,大量更新证书的软件无法正常使用。例如Vmware Tools,所以用户需要安装kb4474419补丁,建议下载官方补丁然后压缩成iso格式文件挂载...
2022-07-09 07:30:04 6564 10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人