在Microsoft共享dll上使用#import指令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Microsoft共享dll上使用#import指令相关的知识,希望对你有一定的参考价值。

我没有使用COM的丰富经验,并且想知道是否有人知道我必须提供的最低数量的信息才能将dll导入cpp文件(将用于生成dll)。根据MDSN(http://msdn.microsoft.com/en-us/library/8etzzkb6(v=vs.80).aspx),我需要包括一个类型库资源,例如.ocx文件。即使是Microsoft共享dll(例如mso.dll),也是如此吗?另外,我还可以使用哪些其他类型库资源?

根据我到目前为止收集的信息,我只需要向MIDL提供足够的信息,以便它以正确的方式形成dll的接口(这似乎是COM的本质)。


原始链接已死。 https://docs.microsoft.com/en-us/cpp/preprocessor/hash-import-directive-cpp?view=vs-2019似乎是新的网址。

答案

在列出的关键字链接中,“#import创建了两个头文件,这些头文件重构了C ++源代码中的类型库内容”。 #import MSO.DLL时,您正在将类型库导入到您的项目中(而不是cpp文件中),它会创建必要的COM接口定义。因此,您无需提供其他信息。

但是根据您要执行的操作,可能还需要导入其他文件才能使用Office应用程序。

以上是关于在Microsoft共享dll上使用#import指令的主要内容,如果未能解决你的问题,请参考以下文章

解决import tensorflow报错:ImportError: DLL load failed: 找不到指定的模块

PHP Curl (Win 10 Microsoft) 需要哪些 DLL 文件

在 win32 上构建 R 包:无法加载共享对象 (.dll)

致命错误 C1107:找不到程序集“Microsoft.Office.Interop.Excel.dll”:

在非共享点环境中部署 WCF 服务

在共享DLL中使用MFC与在静态库中使用MFC的区别