添加非“类型库”dll作为VS C ++ 2008的参考

时间:2010-12-21 00:51:07

标签: visual-studio-2008 visual-c++ dll

我刚刚收到同事的请求,要求解决为什么在Visual Studio 2008版本9.0.21022.8 RTM和MS .Net Framework版本3.5 SP1中无法添加特定dll作为参考。

使用的语言是Visual C ++ 2008,我从未用这种语言做过任何事情,虽然我之前在C#中做过一点......

请检查以下两条错误消息,第一条来自我的笔记本电脑,第二条来自我的同事: my error message

another error message

从我的Google研究中我恐怕目标dll是:

  • 不是类型库。通过运行tlbimp实用程序确认:

    tlbimp C:\test\tm1api.dll
    
    ......
    
    error TI0000 : The input file 'C:\test\tm1api.dll' is not a valid type library
    

    这意味着什么,将其转换为类型库?

  • 不是.NET程序集或已注册的ActiveX控件。这个dll没有在VS编程我恐怕。但我怎么能验证这个呢?

基本上我很困惑,因为两个VS 2008显示不同的错误信息,这个问题是否仅针对VS 2008?或者VS中有这样的通用解决方案吗?

非常感谢提前的帮助。

1 个答案:

答案 0 :(得分:1)

你可能只是一个普通的老dll。使用dllimport访问其方法。请注意,在与C ++ dll交互时通常会出现各种类型的数据编组问题,比如int而不是int,你可能需要使用short,IntPtr而不是数组...就像那样。