本机VC ++ 6应用程序中的托管DLL

时间:2011-08-13 18:52:18

标签: .net c++ dll linker native

我有一个托管DLL,我想在我正在修改的遗留应用程序中使用,到目前为止我采取的步骤是......几乎遵循本指南的T: How to call a managed DLL from native Visual C++ code in Visual Studio.NET or in Visual Studio 2005

所以,我为DLL创建了一个强名称,生成了.tlb文件,将#import转换为我的C ++代码,请注意,哦,很酷,当我'时,intellisense甚至可以看到类(和指向类的指针)我正在调用它,但在编译之后我收到了这个链接器错误:

Test.tlb : fatal error LNK1136:  invalid or corrupt file.

可能是我的C ++项目设置错误,最初我收到"fatal error LNK1181: Cannot open input file 'Test.tlb' ",直到我把它移到包含我的解决方案/项目的目录。

有谁知道可能导致这种情况的原因?

1 个答案:

答案 0 :(得分:1)

是的,您的项目设置错误。您好像已将.tlb文件添加到链接器的Additional Dependencies设置中。这不正确,它不包含任何可链接的代码。它只包含只有#import指令才能理解的格式的声明。

从链接器设置中删除test.tlb。