首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >导入msado15.dll后未生成msado15.tlh

导入msado15.dll后未生成msado15.tlh
EN

Stack Overflow用户
提问于 2017-02-04 03:35:49
回答 3查看 4.2K关注 0票数 1

我试图使用/MP (用多个进程构建)选项来启用多进程编译,但是它与#import冲突,所以我尝试了在VisualC++中替换#import中提出的解决方法:

对于谷歌上其他人来说,这是个绊脚石:

  1. 创建一个单独的静态库项目
  2. 设置足够的包含,以便将#import语句放在lib项目中
  3. 使您的主项目依赖于lib项目(以确保正确的构建顺序)
  4. 将lib项目的临时构建文件夹添加到主项目的包含路径
  5. #include正在执行#导入的生成的.tlh文件
  6. 启用/MP开关,并失去咖啡休息时间.

但是,我愚弄了这些步骤,没有生成"msado15.tlh“。

我要做的是:

  1. 创建静态库项目AdoImport
  2. AddImport.h项目中添加一个头文件AdoImport,只包含一行:#import "C:/Program Files/Common Files/System/ado/msado15.dll" rename("EOF", "adoEOF") rename("BOF", "adoBOF")
  3. 编译

我预计msado15.tlh将在AdoImport proejct的Debug文件夹中生成,但找不到。编译报告成功,只生成AdoImport.lib

我应该如何使msado15.tlh生成,以便我的主要项目可以包括它?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-04 05:24:12

万一有人撞到谷歌,我是怎么解决的--

将行#import "C:/Program Files/Common Files/System/ado/msado15.dll" rename("EOF", "adoEOF") rename("BOF", "adoBOF")放在AdoImport项目的stdafx.h中,以便随时编译。

AdoImport项目的“中间目录”(在Project Property -> Configuration Properties -> General下)应包括在主项目的路径中。

票数 1
EN

Stack Overflow用户

发布于 2017-10-03 09:01:11

谢谢你提供解决方案。通过这个,我尝试在VS2015中创建同样的东西,但不知怎么不起作用。

所以我添加了导入语句

#导入"C:/Program /通用文件/System/ado/msado15.dll“重命名(”EOF“,"adoEOF")重命名(”BOF“,"adoBOF")

在我的主项目的预编译头文件StdAfx.h中,并编译了StdAfx.cpp,并很快解决了说明"..cannot打开的msado15.tlh“的#导入错误。这是一个简单的工作,不需要创建库。但你的回答让我解决了这个问题。感谢你。

谢谢,Kamleshwar。

票数 2
EN

Stack Overflow用户

发布于 2020-07-17 17:23:10

在VS2019中得到相同的错误消息,但原因不同。.tlh文件的目标文件夹是只读的。我没有选中文件夹上的只读。VS创建了tlh,错误消息消失了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42036189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档