VS2017 import无法打开源文件 .../msado15.tlh (msado15.dll)

简介: VS2017 import无法打开源文件 .../msado15.tlh (msado15.dll)


在学习MFC调用数据库时,在导入msado15.dll时出错,网上找了半天,发现这东西是编译器延迟,直接编译就可以,记录一下本人的辛酸历程。野生程序员的苦痛诶~




1、首先选择建立MFC工程


1.1 注意


在最新的MFC工程中已经将预编译头文件"stdafx.h"替换为"pch.h",所以网上那些关于stdafx.h的资料基本都已经过时辽




1.2 VS中建立MFC工程选项如下

2021070317165343.png





2、导入msado15.dll出现错误如下


20210703171805442.png

可以看到编译器提示我们:无法打开源文件…/msado.dll,前面的路径是VS项目所在的路径,这里就体现出编译器延迟的坑爹之处了,本人找了半天解决方法,其实这东西不用解决,直接编译运行,也不会报错!!!




3、 网上的方法


下述方法大家可以试一下,本人试了之后都没啥用,静静等待编译器反应过来就好了(强迫症的话没办法奥)。



3.1 加双反斜杠法-无效


将下述语句的反斜杠变成双反斜杠。。em…


#import "c:\program files\common files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")

双反斜杠版本

#import "c:\\program files\\common files\\System\\ado\\msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")




3.2 将msado15.dll放到debug文件夹目录中


大家可以根据上述路径在自己电脑的C盘中找到msado15.dll文件,但本人的VS报的错误信息为:无法打开源文件…/debug/msado15.tlh,而C盘目录中实际上没有msado15.tlh这个文件。


所以死马当活马医,将msado15.dll复制到debug文件夹,然鹅并没有卵用,编译器依旧有红线下划线报错。


C盘中msado.dll文件如下所示:

20210703172119838.png


添加到VS工程下的debug文件目录中

20210703172803801.png



3.3 加入预编译stdafx.h


如果是建立的MFC工程,那么打开编译器中的C\C++预编译头之后,会显示有预编译头pch.h,本文上述已经指出,pch.h已经将stdafx.h替代辽,所以,此方法无用。



3.4添加头文件


在程序头部添加两个新的头文件


#include<odbcinst.h>
#include"afxdb.h"


这种方法在本文找的修复方法中属于认同人数最多的一种了,或许对大家有用。


THE END. THANKS FOR WATCHING.

相关文章
|
前端开发 API PHP
微信分享自定义图片和摘要
参考:  微信分享实现   微信现在是众多公司营销的重点。遍布朋友圈和消息群组里的html5各位可能也是天天见了,不过自从微信更新了官方api后,对整个微信内的页面管控都严格了不少。而官方的分享卡片,是众多在微信生态中传播的html5静态页面的一个重点。
1708 0
|
IDE 开发工具 C++
VS2015+Qt5.9.8编译报错:error MSB6006: “cmd.exe”已退出,代码为 2
VS2015+Qt5.9.8编译报错:error MSB6006: “cmd.exe”已退出,代码为 2
3146 0
|
安全 网络协议 Ubuntu
【常见开源库的二次开发】HTTP之libcurl库——libcurl使用(二)
【常见开源库的二次开发】HTTP之libcurl库——libcurl使用(二)
2604 2
|
开发框架 .NET 数据库
D8016 “/ZI”和“/clr”命令行选项不兼容
D8016 “/ZI”和“/clr”命令行选项不兼容
|
12月前
|
Unix 网络虚拟化 C++
VS2022+Qt5.14.2成功编译MITK2022.10
使用VS2022和Qt5.14.2成功编译MITK2022.10的过程,包括编译结果的截图、遇到的编译问题的解决方法、两个重要的注意事项(patch文件格式的修改和ITK-gitclone-lastrun文件的存在),以及参考链接。文中详细描述了如何解决编译过程中遇到的错误C2220和警告C4819,以及如何修改文件编码和尾行格式。
784 1
VS2022+Qt5.14.2成功编译MITK2022.10
|
并行计算 Serverless 应用服务中间件
函数计算操作报错合集之部署Stable Diffusion启动失败,是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
514 7
|
NoSQL MongoDB 关系型数据库
13个Mongodb GUI可视化管理工具,总有一款适合你
本文介绍了13个好用的MongoDB可视化工具。Robomongo,MongoDB Compass,phpMoAdmin等
111740 0
13个Mongodb GUI可视化管理工具,总有一款适合你
|
前端开发 索引
【IntelliJ IDEA】idea导入node_modules卡死,idea 忽略 node_modules 索引
【IntelliJ IDEA】idea导入node_modules卡死,idea 忽略 node_modules 索引
704 0
|
存储 缓存 编译器
探秘C++中的神奇组合:std--pair的魅力之旅
探秘C++中的神奇组合:std--pair的魅力之旅
783 1
探秘C++中的神奇组合:std--pair的魅力之旅
|
定位技术 C语言 C++
C++】日期类Date(详解)①
这篇教程讲解了如何使用C++实现一个日期类`Date`,涵盖操作符重载、拷贝构造、赋值运算符及友元函数。类包含年、月、日私有成员,提供合法性检查、获取某月天数、日期加减运算、比较运算符等功能。示例代码包括`GetMonthDay`、`CheckDate`、构造函数、拷贝构造函数、赋值运算符和相关运算符重载的实现。