我正在尝试使用 /MP (Build with Multiple Processes)启用多进程编译的选项,但是,它与#import 冲突,所以我正在尝试 Replacement for #import in Visual C++ 中提出的解决方法:
对于在谷歌中遇到这个问题的其他人:
- 创建一个单独的静态库项目
- 设置足够的包含,以便您可以将#import 语句放入 lib 项目中
- 使您的主项目依赖于 lib 项目(以确保正确的构建顺序)
- 将 lib 项目的临时构建文件夹添加到包含路径 主要项目
#include
在执行#import 时生成的 .tlh 文件- 启用/MP 开关并失去咖啡休息时间...
我愚弄了这些步骤,但是没有生成“msado15.tlh”。
这是我的做法:
- 创建一个静态库项目
AdoImport
- 在
AdoImport
工程中添加一个头文件AddImport.h
,只包含一行:#import "C:/Program Files/Common Files/System/ado/msado15.dll"rename("EOF", "adoEOF") rename("BOF", "adoBOF")
- 编译
我希望在 AdoImport
项目的 Debug
文件夹中生成一个 msado15.tlh
,但找不到。编译报告成功,只生成了AdoImport.lib
。
我应该如何生成 msado15.tlh
以便我的主要项目可以包含它?
最佳答案
感谢您提供解决方案。为此,我尝试在 VS2015 中创建相同的内容,但不知何故没有奏效。
所以我添加了导入语句
#import "C:/Program Files/Common Files/System/ado/msado15.dll"rename("EOF", "adoEOF") rename("BOF", "adoBOF")
在我的主项目的预编译头文件 StdAfx.h 中编译 StdAfx.cpp,不久之后,#import 错误“..cannot open msado15.tlh”得到解决。这是一个简单的解决方法,无需创建库。但是你的回答让我解决了这个问题。谢谢你。
谢谢, 卡姆莱斯瓦尔。
关于c++ - 导入 msado15.dll 后未生成 msado15.tlh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42036189/