
C/C++语言
关于C/C++博文介绍
hzgao
这个作者很懒,什么都没留下…
展开
-
Mingw编译完成的exe文件运行报出无法定位程序输入点xxx于动态链接库xxx.exe上
最近用mingw编译一个exe文件,执行时报出“无法定位程序输入点xxx于动态链接库xxx.exe”错误,经过排查发现,原因是最近安装了anaconda,anaconda自带mingw,导致原来的安装mingw环境变量被自动挪到了下面,而anaconda自带mingw在环境变量最上面,导致默认使用的是anaconda自带mingw,因此运行报错。将原来安装的mingw设置的环境变量上移到anaconda自带的mingw环境变量之前即可。原创 2024-01-29 20:11:47 · 870 阅读 · 1 评论 -
anaconda3/lib/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found (required by ./rd_main)
最近在linux系统编译运行程序时,报出如题目所示错误,使用的是anaconda里面的库libstdc++.so.6,经过查看资料知道了原来是由于 libstdc++.so.6的版本过低造成的。由于GCC的版本其实很高的,所以呢,我认为我的电脑的其它文件的库文件里应该有比这版本高的;所以,在自己的电脑里找找。首先把libstdc++.so.6.0.20 复制到 anaconda 的库文件夹下,然后删除原来的软链接 libstdc++.so.6,建立新的指向libstdc++.so.6.0.20的软链接;原创 2024-01-16 14:42:47 · 848 阅读 · 0 评论 -
在将qt项目移植到现有工程进行cmake编译链接时,qt项目中自定义的控件显示报错未定义
在QTcreator中进行编译运行是没有这个问题,那么在QTcreator中进行编译和在cmake中编译究竟存在什么区别,经过查阅资料发现,原来在QTcreator中进行编译时,会自动将一些qrc的资源文件用rcc工具编译为类似于动态链接库,运行时,直接调用这些库就可以了,而将qt项目移植到现有工程进行cmake编译链接时,没有用到rcc工具,自然就无法将资源文件生成动态链接库,所以链接就会报以上错误。基于以上分析,我们只需要在CMakeList.txt将rcc工具开启,就可以了;原创 2023-07-12 20:44:33 · 397 阅读 · 0 评论 -
将qt项目移植到现有工程进行cmake编译链接时,发现如下在qt项目中调用现有工程中定义的接口资源未定义而报错
问题是在链接时出现的,会不会是mainwindow.cpp没有链接进去呢?最后经过分析发现,虽然mainwindow.cpp是在${CMAKE_CURRENT_SOURCE_DIR}/display/src目录下定义,但是在include_directories时,并不会把mainwindow.cpp包含进去,因为这个文件是以.cpp作为扩展名的,所以需要把${CMAKE_CURRENT_SOURCE_DIR}/display/src目录下的源文件也添加进去。原创 2023-07-12 20:40:52 · 153 阅读 · 0 评论 -
opencv4/opencv2/core/hal/interface.h:61:20: error: conflicting declaration ‘typedef int64_t int64’冲突
这个重定义与我的工程里面的int64和uint64重定义有冲突,所以报了上述错误;原创 2023-07-04 15:24:31 · 795 阅读 · 0 评论 -
输入函数getline(cin,str) 与cin.getline(str,int)的区别[C/C++]
cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * ,int),第一个参数为一个char指针,第二个参数为数组字符串长度。getline(cin,str)函数是处理string类的函数。第二个参数为string类型的变量。#include <iostream>#include <string>using namesp...原创 2020-04-11 17:15:37 · 543 阅读 · 0 评论 -
搜索算法之哈希表
1.什么是哈希表(Hash Tables) 哈希表可以以极快的速度来查找、添加或删除元素(只需要数次的比较操作。)它比红黑树、二叉搜索树都要快得多。但是哈希表没有排序功能,类似的,如寻找最大值、最小值、中值这些行为都不能在哈希表中实现。2.实现哈希表的前提条件 要想对一组元素做成哈希表形式的数据结构,这些元素需要满足两个条件: A. 元素拥有自己的哈希值。 B. ...转载 2020-05-03 16:58:27 · 442 阅读 · 0 评论 -
googleTest工程报错LNK1104 无法打开文件“...../gtest_maind.lib”
LNK1104无法打开文件“D\project\Image_process\ImageProcessTest\..\..\lib\native\v140\windesktop\msvcstl\static\rt-dyn\x64\Debug\gtest_maind.lib”ImageProcessTestD\project\Image_process\ImageProcessTest\LINK1。然后,在链接器-》常规-》附加库目录里把该库的路径添加进去,问题解决。...原创 2022-07-15 19:57:34 · 841 阅读 · 0 评论 -
VS2019+win10+cuda11.7, 工程报错MSB3721
一开始怀疑是因为切换了环境导致的,但因为动态库能正常生成,所以没有怀疑是环境的问题。于是网上看到很多博主也遇到类似的报错,但是他们的解决方法自己都尝试过,还是没有解决掉。于是开始想着是不是环境哪里配置有问题导致的。于是我把原来的工程在新环境上重新新建了一下,结果发现就没有再报这个错误了,因此这也印证了原来的怀疑,但究竟是哪里的配置出了问题,还没找到,毕竟vs工程配置挺多的。所以如果有朋友遇到遇到类似问题时,可以尝试一下。...原创 2022-07-15 19:37:08 · 1029 阅读 · 3 评论 -
结构体变量赋值
结构体内变量赋值暂且分为三种(笔者此时只能想到三种)1.定义时赋值2.定义后对变量挨个赋值3.利用函数进行赋值赋值时再分为两类1.非数组赋值2.数组赋值1.比较简单,在此不做过多介绍,只是简单贴下代码。struct student{ ...转载 2020-02-22 15:21:51 · 7637 阅读 · 0 评论 -
位域的定义与使用详解
位域是指信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的...原创 2020-02-22 12:06:34 · 3535 阅读 · 0 评论