如何在本机C++项目中使用tlb文件

sbl*_*din 5 com visual-studio-2005 visual-c++

我有一个tlb文件,其中包含一些我需要使用的函数声明.

如果我使用

#import "type_library.tlb"
Run Code Online (Sandbox Code Playgroud)

我可以从我的代码中引用该函数:

tlb_namespace::required_function();
Run Code Online (Sandbox Code Playgroud)

但是当我编译项目时,链接器说tlb_namespace :: required_function是一个未解析的外部符号.

我怎样才能成功建立这样的项目?

编辑:

我在Dummy VBA访问项目中使用了相同的类型库.我已经添加了对类型库的引用,我注意到类型库中包含的一些函数被正确调用.但其中一些不是.VBA说它无法在相关的dll中找到它们的入口点.

这可以解释构建c ++应用程序时未解析的外部符号吗?

我也注意到失败的函数在tlb中声明如下:

UPPER_function_name
Run Code Online (Sandbox Code Playgroud)

但在dll中声明如下:

Upper_function_name
Run Code Online (Sandbox Code Playgroud)

这可能是问题吗?

是否有可能直接修改二进制tlb文件或DLL来解决这种错误?

lsa*_*mon 5

使用IDE查看TLB信息。
使用此帮助:如何:查看类型库信息

在 IDE : View-> Object Browser,单击“...”编辑自定义组件集,浏览您的 TLB 文件并添加以查看信息。

确认用于的命名空间。