- 博客(40)
- 资源 (2)
- 收藏
- 关注
原创 error LNK2001 无法解析的外部符号
出现此错误是在调用函数的地方,无法看清函数真实的面貌导致的,常见的就是头文件或者lib的包含问题,再可能是自定义变量导致的问题,一定要在调用函数前声明过自定义变量,还有就是在调用函数的地方检查调用方的头文件中是否需要声明class名,struct名等。dll链接其他库函数的问题。
2025-02-27 15:45:51
204
原创 #git 问题failed to resolve head as a valid ref
d87e4589714ae284c6c82eff3df49cc98ef345f8 复制到。(当前分支)下的hash编码也有问题,同样粘贴刚才的编码就可以解决。(当前分支)txt编辑器打开显示乱码,而不是hash编码。可以查看具体error信息,一般都是head索引问题。如果出现remotes相关error 则说明。就可以看到恢复的分支。
2024-09-27 13:10:23
594
原创 #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
可以用原始指针构造shared_ptr,每次用这个原始指针构造一个shared_ptr都会分配一个存放引用信息的块,shared_ptr再赋值给shared_ptr会维护同一个块,而如果每个shared_ptr都用原始指针构造,就是每个shared_ptr都有自己的信息块, 这样就会出问题。此外还有个重要的特点就是可以共享,就是多个share_ptr对象都保存同一个ptr,共同维护一个共享信息的块(std::make_shared会同时创建一个块存放引用计数等信息,还有一个存放数据对象的内存)。
2024-09-12 11:17:18
350
原创 #MFC 编译错误msvcrt.lib(exe_main.obj) : error LNK2019
如果是CMake,需要改如下:set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:") 改为。
2024-08-07 21:41:43
195
原创 #MFC 窗口刷新问题OnPaint
问题:在mousemove函数中调用耗时的程序,可能会出现OnPaint不调用的现象;处理:需要取消拖动鼠标中的耗时操作即可。
2024-08-06 18:08:57
432
原创 #git 如何将现有更改追加到到已经提交的commit
git rebase -i commitID (应该是需要追加的commit的前一条commit的ID)找到需要更改的commit, 将行首的pick改成edit, 按esc, 输入:wq 退出。注意:如果执行出错或者是失败,建议 git rebase --abort 可恢复操作。使用git rebase --continue移动HEAD到最新的commit处。使用git commit --amend追加改动到第一步中指定的commit上。移动HEAD到需要更改的commit上。
2024-08-05 17:52:26
792
原创 #vcpkg windows第三方包管理器
会有网速慢的问题,可以从网站使用其他下载器下载代码zip解压即可;github缓慢卡顿打不开可以使用代理或者修改hosts文件解决2、运行目录下bootstrap-vcpkg.bat,这个bat是下载vcpkg.exe文件,如果卡顿可直接复制地址下载exe放入目录即可3、windows终端查看vcpkg version,是否正确安装4、可用vcpkg install xx--triplet=x64-windows 安装第三方包,如果gihub卡顿,建议找到地址直接下载后放入。
2024-07-31 10:02:26
421
原创 #git 如何在已经提交上补充文件
可以修改最近一次提交,会自动将暂存提取,直接退出保存即可。3、键盘英文模式下 :wq 即可。4、如果是已经推送,需要。1、将待补充文件暂存。
2024-05-08 17:10:00
456
1
原创 C++ 头文件包含问题
头文件是在cpp中编译时声明使用,如果是单独的头文件在使用时,可以在此文件中包含使用文件中排在该头文件前面的头文件,即使该头文件没有正确的文件路径。是合法的,即使没有正确的a.h的文件路径。这就是头文件的传递作用。
2024-05-07 15:18:29
174
原创 error LNK2019: 无法解析的外部符号 WinMain
VS C++项目原本为控制台程序,调用main函数入口,后来在win32项目中编译会出现该问题,win32入口调用winMain函数,会找不到入口点。
2023-12-04 15:18:28
232
原创 VS 垂直滚动条红色错误提示消失
需要开启滚动条错误显示,启用IntelliSense的波形曲线,在代码中显示红色曲线标识错误。VS2022 C++代码右侧滚动条语法错误红色提示消失。
2023-11-27 14:53:58
400
原创 VS C++代码转到函数定义不准确
可能是正在编辑修改的代码文件行索引问题,通过资源管理器右键该文件【从项目中排除】该文件,然后再从【现有项添加】回来尝试,如果是Cmake构建,建议清理掉所有build后重新构建即可。VS2022中C++代码通过F12或者Ctrl +鼠标左键无法准确定位到函数定义,类函数导航栏选中也不准确。
2023-11-24 08:38:13
671
原创 mfc gridctrl调试双击事件不响应
BEGIN_MESSAGE_MAP(FeederAisleDlg, CDialogEx) ON_NOTIFY(NM_DBLCLK,IDC_GRID,&CxxDlg::OnGridDblClick)//消息传递 END_MESSAGE_MAP()没有进入断点不代表在非断点下不进入函数,由于在单击函数或者ONCommand函数设置断点或者是添加了弹出窗口等,会阻断双击消息发生,去掉其他断点或者弹窗,会根据消息类型选择对应的函数的,可以单独在双击事件下设置弹窗进行测试。
2023-11-15 21:07:28
287
原创 git、gitee、gitlab与svn概述
右键TortoiseGit 设置邮箱,远程地址(克隆/下载的http复制即可)等信息,其实就是创建本地和远程的连接,然后在克隆库时候会提示输入gitee的账号密码,之后就可以通过git进行操作了。以上是通过http的方式,还有一个是ssh密钥,可以在gitee端查看如何创建密钥进行连接,其实就是通过更安全的方式进行。开源的版本控制系统,分布式版本管理,不同的分支,相互合并,本地拥有一个克隆库。的版本控制系统,集中版本管理,在一个主版本上进行开发,然后都提交到该分支上。注册gitee后登录,然后创建仓库。
2023-06-14 22:16:57
436
原创 动态链接库dll(Windows/C++)
1、概念 动态链接库广泛用于Windows系统及应用程序,不能单独被执行,在应用程序运行期间被动态调用的模块文件。区别于静态链接库,均属于独立的代码编译模块,但静态链接库在调用方编译期间,被编译到程序里,与程序形成完成的运行(exe)文件。动态链接库只是将对外导出信息(声明)暴露给调用方,调用方在程序中仅依据暴露的信息进行使用,在编译期间,不会与动态链接库发生任何关系,只有在应用程序运行动态链接库所包含的功能时,动态库才被加载到进程空间,实现调用过程。 静态链接库只需要发布调用的主执行程序即可,动态链接
2022-04-09 19:06:06
4222
原创 异常throw&try/catch的使用
#include "stdafx.h"#include <iostream>using namespace std;#include <exception>struct MyException : public exception{ const char * what() const throw () //继承的虚函数,throw ()不抛出任何异常,异常信息函数不需要抛出 { throw 1; .
2022-04-05 00:42:14
1003
原创 多继承二义性
#include "stdafx.h"////****************多继承、虚继承*****************//二义性////类CBaseclass CBase{public: CBase() :base(10) { }; ~CBase() { }; void fun() { std::cout << "CBase:a " << base << endl; }public: int bas.
2022-04-04 17:58:06
509
原创 #define宏相关符号
#pragma once#include "stdafx.h"////**************define相关的符号*********//////同名宏根据声明先后的顺序进行覆盖,在预编译期间进行替换,从第一个定义宏开始到重名宏之间为第一个宏的作用域////在换行的反斜杠后不允许出现注释或者空字符等//#ifndef TEST#define TEST #endif#if 0#define Test(a,b) (a+b) //.
2022-04-04 17:44:30
396
翻译 LNK2005: _DllMain@12 already defined解决方案
原因:链接库顺序问题方案:在“项目 -> 属性 -> 链接器 -> 命令行”,使用 /verbose:lib编译参数,输出如下:>SearchingD:\vs2015\VC\lib\MSVCRTD.lib:>SearchingD:\vs2015\VC\atlmfc\lib\mfcs140ud.lib:选择“项目 -> 属性 -> 链接器 -> 输入-> 忽略特定的库”输入:> MSVCRTD....
2022-04-03 22:45:17
468
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人