我实现了一个成功编译的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".
我肯定会遗漏一些内容,如果您能指明解决方案的内容,我们将不胜感激?
答案 0 :(得分:0)
如果您没有Visual Studio 2008,则会收到错误MSVCR90.dll。您只需安装Visual Studio 2008运行时,就不会出现与MSVCR90相关的任何依赖性错误。
答案 1 :(得分:0)
这里有两个问题,一个是并非所有本机dll都是类型库,只有COM类。
第二个错误更像是你没有可用的Visual C ++运行时,你是否在尝试使用它的同一个盒子上构建C ++ DLL?
对于非COMN dll,而不是导入类型库,您可以使用DLLImport方法。