0

我实现了一个成功编译的 C++ dll。该项目包含一个头文件和 cpp 文件。cpp 文件包括几个第三方头文件(主要是 Cplex)。

创建 dll 后:然后我尝试在 Visual Studio 中引用该 dll,但它不起作用。在控制台应用程序中,我使用了 tlbimp.exe,但遇到了错误消息:

<AssemblyFileName.dll> is not a valid type library.

然后我使用了依赖walker,它显示了错误消息:

"MSVCR90.DLL was not found".

我肯定遗漏了一些东西,如果您能指出解决方案可能是什么,我将不胜感激?

4

2 回答 2

0

如果您没有 Visual Studio 2008,您将收到错误 MSVCR90.dll。您只需安装 Visual Studio 2008 运行时,就不会出现任何与 MSVCR90 相关的依赖错误。

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en

于 2011-02-03T09:46:18.037 回答
0

这里有两个问题,一个是不是所有的原生 dll 也是类型库,只有 COM 的。

第二个错误更像是您没有可用的 Visual C++ 运行时,您是否在尝试使用它的同一个盒子上构建 C++ dll?

对于非 COMN dll,您可以使用 DLLImport 方法而不是导入类型库。

于 2011-02-03T09:47:05.260 回答