Visual C++
Visual C++相关问题及解决方法。
草丛中的蝈蝈
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Windows下使用cmake编译log4cplus
在解压后的log4cplus根目录下新建build目录;cmd窗口下进入build目录,执行命令:cmake …/ 进行编译;说明:cmake 后不指定编译器类型的话,默认生成的是vc的工程,如果使用其它编译器,需要在参数中指定编译器类型,如:指定使用MinGW编译器,命令为:cmake -G “MinGW Makefiles” …/。命令执行成功后,在build目录下会生成vc工程文件,如下:打开log4cplus解决方案文件,编译,即可生成log4cplus的库文件。原创 2023-07-05 09:40:02 · 912 阅读 · 0 评论 -
qt报错“xxx.lib(Appender.obj):-1: error: LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1900”(main.obj ”
在使用一个第三方库的静态库时,qt报错“xxx.lib(Appender.obj)👎 error: LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1900”(main.obj ”编译第三方库的msvc版本和编译调用第三方库的程序的msvc版本不一致。使用相同的msvc重新编译库和程序。原创 2023-05-31 16:45:56 · 870 阅读 · 0 评论 -
MFC中CFile和CStdioFile的区别
写文本文件开始用CFile类,类型中有CFile::typeText,在relaease模式下运行正常,在debug模式下就会抛异常,说不支持typeText。将类型由CFile改为CStdioFile。原创 2023-04-03 11:13:33 · 267 阅读 · 0 评论 -
afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requi
【代码】afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requi。原创 2023-01-05 16:14:46 · 937 阅读 · 0 评论 -
MFC中的CArray类慎用
在代码中使用了CArray类,需要包含afxtempl.h,包含该头文件后,各种编译错误,具体原因也没时间细查。改用标准库的vector。原创 2023-01-05 10:18:11 · 133 阅读 · 0 评论 -
C++/CLI中使用CString问题汇总
在C++/CLI控制台程序中,想使用CString,包含头文件cstringt.h后,各种报错。2.工程属性里“MFC的使用”,选择“使用标准 Windows 库”;3.工程属性里“ATL的使用”,选择“不使用 ATL”。1.包含头文件#include ;原创 2023-01-04 14:56:36 · 1157 阅读 · 0 评论 -
C++/CLI中类型转换汇总
【代码】C++/CLI中double和String类型的互转。原创 2023-01-04 09:51:23 · 462 阅读 · 0 评论 -
vc中调用matlab生成的动态库
【代码】vc中调用matlab生成的动态库。原创 2022-11-17 17:23:12 · 1131 阅读 · 0 评论 -
error LNK2019: 无法解析的外部符号 __imp_RegCloseKey,该符号在函数 “public: __cdecl
编译vc项目是报错“error LNK2019: 无法解析的外部符号 __imp_RegCloseKey,该符号在函数 "public: __cdecl xxx中被引用”原创 2022-09-05 16:41:34 · 1002 阅读 · 0 评论 -
MFC中对TCHAR类型字符串的操作函数
求字符串长度:lstrlen();字符串比较:lstrcmp();原创 2022-09-05 16:08:34 · 530 阅读 · 0 评论 -
error C2664: 无法将参数 2 从“const char [6]”转换为“LPCWSTR”
使用一个使用VC写的例程时,编译报错“ error C2664: 无法将参数 2 从“const char [6]”转换为“LPCWSTR”代码中使用了用#define声明的字符串常量,使用_T()宏包含字符串常量。原创 2022-09-05 15:39:53 · 997 阅读 · 0 评论 -
C++调用由com组件生成的dll教程
这类dll的特点是不需要注册dll,直接就可以查看内部的函数 进行调用操作。注册该dll命令为regsvr32.exe xxx.dll需要在管理员权限下运行,否则可能会报不知名的错误。选择文件------添加相关的dll。转载 2022-08-26 11:30:19 · 574 阅读 · 0 评论 -
使用COM库的三种方法
需要特别指出的是: 为防止原有代码和新引入的代码之间发生名字冲突,编译器会定义一个由类型库名称标识的命名空间,并在其中声明的任何名称内附加一个标识符。#import指令在执行时将会从待引入的类型库中提取出两个文件:一个.tlh文件和一个.tli文件,后者仅仅是包装类的函数实现,而前者则包含了许多有关的重要信息。通过类向导可以直接阅读组件的类型库,并产生包装类型库中每个接口的类,通过这些类的成员函数可以访问组件接口的方法和属性,与使用ActiveX控件的方法有些类似。转载 2022-08-24 17:05:34 · 1730 阅读 · 0 评论 -
使用win32 api读文件
代码】使用win32api读文件。原创 2022-07-20 14:01:50 · 444 阅读 · 0 评论 -
对ReadFile堵塞进行异步处理
此前使用ReadFile函数时,都是同步,这样会导致比如说一条管道,一端写入,另一端读取。若写入端出现问题或者写入不成功,读取端会一直堵塞在ReadFile处,程序就一直卡住。版权声明本文为优快云博主「bangtan辉」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接https//blog.youkuaiyun.com/bangtanhui/article/details/122122560。...转载 2022-07-19 10:15:19 · 2450 阅读 · 0 评论 -
应用程序无法正常启动(0xc000007b)
问题:win7+vs2013环境上开发的程序,在一个新安装的win7上运行,报错“应用程序无法正常启动(0xc000007b)”原因:缺少2013运行时库,安装visual C++ Redistributable for 2013后,问题解决。原创 2022-07-11 20:33:25 · 596 阅读 · 0 评论 -
部署debug版本和release版本的区别
问题:在 win7+vs2013 环境上开发的程序部署到 win10上后,debug版本运行后会报“找不到MSVCP12D.DLL”和“找不到MSVCR120D.DLL”, 但是release版本不会报错。原因:win10下有MSVCP12.DLL和MSVCR120.DLL文件,但是没有MSVCP12D.DLL和MSVCR120D.DLL文件。结论:部署时最好还是使用release版本,减少报错的可能。...原创 2022-07-11 16:57:31 · 277 阅读 · 0 评论 -
windows 7下安装qt5.9.1+vs2013遇到的问题及解决办法
windows下安装vs 2013问题及解决办法原创 2022-07-10 01:44:57 · 744 阅读 · 0 评论 -
windows 10下安装vs2015提示安装包损坏或丢失的方法
问题:windows 10下安装vs2015提示安装包损坏或丢失的方法。解决办法:试了好几种方法都不行,就这个方法可以。当弹出找不到安装文件的提示时,将安装目录下的package目录的绝对路径粘贴到错误提示框中的搜索路径,多次弹出时,每次都拷贝同样的路径,通过。...原创 2022-07-09 23:56:29 · 1230 阅读 · 1 评论 -
关于MFC中表格控件的选择
目前比较好的开源控件有以下两个:MFC Grid control 2.27:http://www.codeproject.com/Articles/8/MFC-Grid-control-2-27Ultimate Grid:http://www.codeproject.com/Articles/20183/The-Ultimate-Grid-Home-Page这两个都支持VS2013,MFC Grid control 2.27是一个人写的,Ultimate Grid是很多人写的,文档比较详细。我只转载 2022-02-10 17:55:41 · 1370 阅读 · 0 评论 -
MFC中子控件响应键盘消息
在MFC的窗口和控件编程时,经常需要使某个控件主动响应用户的键盘消息,哪怕该控件并没有输入功能。为方便说明,假设你的主窗口为A,需要相应键盘消息的子控件为B为一个图片控件(Picture control)。此时,你需要做如下工作:派生一个自己的类作为B的类Picture control默认的ID是IDC_STATIC,这种ID是不能定义变量的,因此把该ID改成别的名字,如IDC_TEST。然后添加一个控件变量,先选择CStatic,确认,让MFC生成相应代码(主要是DDX_Control等代码转载 2022-02-10 13:28:38 · 1419 阅读 · 0 评论 -
mfc中响应动态创建控件的消息
定义控件ID#define _ID_DYN_EDIT 10000动态创建控件m_edit.Create(XXX, rect, this, _ID_DYN_EDIT );编写消息处理函数void CListCtrlEdit::OnEnEdtKillFocus(){}关联消息处理函数到消息BEGIN_MESSAGE_MAP() ON_EN_KILLFOCUS(_ID_DYN_EDIT , &CEdit::OnEnEdtKillFocus)END_MESSAGE.原创 2022-02-10 11:07:31 · 635 阅读 · 0 评论 -
vs2012帮助文档默认显示在线帮助,而不是本地帮助文档
问题:在函数上按F1键,弹出是在线帮助,而不是本地帮助文档。解决办法:帮助——设置帮助首选项——在帮助查看器中启动。原创 2022-02-09 19:56:43 · 451 阅读 · 0 评论 -
Vs2012帮助文档安装介绍
原文链接:添加链接描述Vs2012的帮助文档:Microsoft Help Viewer.exe,vs2010对应的是1.0,vs2012对应的是2.0,版本号以此类推与早期的chm格式的msdn帮助文档不同在于:默认不能单独运行帮助文档2.需要一个xxxx.msha 的清单文件,以及相应的xxx.cab包3.帮助文档支持多国语言1.下载vs2012帮助文档(简体中文帮助文档不包含win32API以及驱动开发相关文档,如果需要win32API及驱动开发相关文档还需要下载英文帮助文档)简体转载 2022-02-09 19:48:02 · 989 阅读 · 0 评论 -
MFC中如何实现CListCtrl单元格可编辑
实现效果最近接到一个任务,要让ClistCtrl像Excel一样可以编辑,经过一些摸索,最终实现效果如下。基本思路当鼠标单击CListCtrl对象时,控件发出NM_CLICK消息,在这个消息的响应函数中,能够获取用户单击了哪个单元格;然后,动态创建一个CEdit控件,使其和单元格大小、字体、位置、文字完全相同;最后,当用户对编辑框操作完,焦点转向其他控件时,提取CEdit中文字内容,并更新到CListCtrl当中去。为了集成上述功能,从CListCtrl派生一个自定义类CListCtrlEdit,具转载 2022-02-09 17:15:04 · 1577 阅读 · 0 评论 -
MFC程序打印日志到控制台
在应用程序的入口调用以下函数.#include "io.h"#include "fcntl.h"void CreateConsole(){ int nRet= 0; FILE* fp; // AllocConsole(); nRet = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT); fp = _fdopen(nRet, "w"); *stdout = *fp; setvbuf(stdout, NU原创 2022-01-26 18:13:18 · 829 阅读 · 0 评论 -
VC中字符串形式ip地址和整数形式ip地址转换
字符串转整数 int dwAddr = inet_addr("127.0.0.1");整数转字符串 struct in_addr inAddr; inAddr.s_addr = dwAddr;原创 2022-01-26 14:30:45 · 4249 阅读 · 0 评论 -
vs2015 community无法正常打开
解决办法:在 “开始菜单” 里面 找到 VS2015的开发者命令行工具然后输入:devenv /Safemode原创 2022-01-13 20:26:39 · 424 阅读 · 0 评论 -
VS中如何使用NI控件画图
NI是美国一个公司的产品,注重二维、三维图形绘制。用于仿真。其控件主要有两种类型(针对.NET):一:(1)COM组件总共有8个组件,有二三维、Socket组件。为最底层的控件。需要在VS选择项里面手动添加(工具箱里右击一下)。NI控件有自己特有的标识。(2)另外一种为对COM进行过封装、扩展而来的。数量多、功能强大、操作简单。有助于快速开发,共计25个。基本信息大概如此。二:CWGraph的使用(1)1.打开VS,新建一个工程,在选择项中将NI的COM组件加载到工具箱。2.拖一个CWGr转载 2022-01-11 16:53:17 · 1973 阅读 · 0 评论 -
MFC中修改主窗口弹出时的位置
BOOL CmfcTestDlg::OnInitDialog(){CDialogEx::OnInitDialog();…// TODO: 在此添加额外的初始化代码this->MoveWindow(CRect(60,10,950,710));return TRUE; // 除非将焦点设置到控件,否则返回 TRUE}原创 2021-06-10 11:46:49 · 272 阅读 · 0 评论 -
error LNK2019: 无法解析的外部符号 __imp___wassert
问题:error LNK2019: 无法解析的外部符号 __imp___wassert解决方法:原创 2021-03-16 10:47:53 · 1416 阅读 · 1 评论 -
mfc中使用第三方库报错“__CrtSetCheckCount 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义”
1>libcmtd.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义1>libcmtd.lib(crt0dat.obj) : error LNK2005: _exit 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义1>libcmtd.lib(crt0dat.obj) : error LNK2005: __exit 已经在 msvcrtd.l原创 2021-03-05 09:44:14 · 689 阅读 · 1 评论 -
error LNK2005: __CrtSetCheckCount 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
问题:在mfc程序里使用一个第三方库,编译报错"error LNK2005: __CrtSetCheckCount 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义"。原因:Linker Tools Error LNK2005symbol already defined in objectThe given symbol, displayed in its decorated form, was multiply defined.TipsOne of the followi原创 2021-03-04 17:35:34 · 509 阅读 · 1 评论 -
fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
问题:vc2010下多线程程序报错“fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>”原创 2021-02-23 11:37:42 · 649 阅读 · 0 评论 -
WINDOWS线程函数概述
原文链接:[添加链接描述]Windows提供了多组支持多线程的应用程序接口(API)函数。许多读者已经对Windows提供的多线程函数有一定程度的了解,但是对于那些不熟悉这些的读者,本章提供了这些函数的概述。记住,Windows提供了许多其他的基于多线程的函数,这些函数需要您自己去探索。为了使用Windows的多线程函数,必须在程序中包含<Windows.h>。3.4.1 线程的创建和终止Windows API提供了CreateThread()函数来创建一个线程。其原型如下所示:HAN转载 2021-02-23 09:27:55 · 578 阅读 · 0 评论 -
win10下使用usblib时报错“libcmtd.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount 已经在 MSVCRTD.lib(MSVC”
问题:完整的错误如下:1> 所有输出均为最新。1>libcmtd.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount 已经在 MSVCRTD.lib(MSVCR100D.dll) 中定义1>libcmtd.lib(crt0dat.obj) : error LNK2005: _exit 已经在 MSVCRTD.lib(MSVCR100D.dll) 中定义1>libcmtd.lib(crt0dat.obj) : error原创 2021-02-08 15:14:55 · 388 阅读 · 0 评论 -
vs2010无法给控件添加变量
问题:用vs2010给以前的老工程里的控件添加变量,确定后,界面无任何反应,在代码里也搜不到刚添加的变量名。原因:在“工程名.h”里包含了resouce.h文件,把这句移动到"工程名Dlg.h"里,问题解决。根本原因是什么,不清楚。...原创 2021-01-28 19:31:12 · 672 阅读 · 0 评论 -
电脑上没有实体串口的情况下如何调试串口程序?
问题:现在很多新的电脑有没有串口了,如果电脑上没有串口,同时手上也没有USB-串口转化器,调试串口程序会很不方便。解决方案:安装软件“virtual serial port driver”(简称VSPD) ,启动后可以创建虚拟的COM1和COM2,并且将COM1和COM2互联,可以正常调试程序。...原创 2021-01-05 18:30:45 · 2237 阅读 · 0 评论 -
vs2010下报错:语法错误 : 缺少“;”(在标识符“ContextRecord”的前面)
问题:从网上拷贝的串口代码,粘贴到本地,编译报错“类型不能识别的错误;查看MSDN知道,需要包含Windef.h和ShObjIdl.h两个头文件;包含以上头文件后,报错“语法错误 : 缺少“;”(在标识符“ContextRecord”的前面)”。解决办法:在包含Windef.h和ShObjIdl.h的前面,增加包含Windows.h文件,编译通过。但是我又把包含Windows.h文件那行注释掉,依然可以编译通过,还没搞明白到底为什么。。。。。...原创 2021-01-05 16:25:42 · 1086 阅读 · 0 评论 -
vc6.0程序运行报错误码为0xc0000005的错误。
问题:vc6.0程序运行报错误码为0xc0000005的错误。原因:自己的代码有问题,导致访问了非法地址,出现该问题。原创 2020-12-30 18:32:15 · 1297 阅读 · 0 评论
分享