c++ - 使用 visual studio 导入 lib 文件

标签 c++ visual-studio-2010 dll

我正在尝试导入如下文件:

#import "francais.dll"

它告诉我它无法打开源文件“C:/xxxx/Proj/Release/francais.tlh”

库文件存在于 Proj 中。

如何解决?

最佳答案

它不是一个“库文件”,它是一个COM服务器。 #import 指令从嵌入在 francais.dll 中的类型库自动生成 .tli 和 .tlh 文件。它无法加载该 .tlh 文件没有明显的原因,该 DLL 可能有问题。从这里很难看到。请确保您没有忽略之前的错误,从“错误列表”窗口的顶部开始。

作为基本检查,您可以自己查看该类型库。从 Visual Studio 命令提示符运行 OleView.exe 并使用 File + View Typelib,选择该 DLL。您需要查看类型库的内容,反编译为 IDL。

您也可以在 VS 本身中看到它,使用"file"+“打开”+"file"并选择 DLL。您将看到嵌入在 DLL 中的资源,需要有一个标记为“TYPELIB”的节点,其中一个资源 ID 为 1,即实际类型库。如果这两个验证出现任何问题,那么 #import 指令也不太可能起作用。

请注意,它试图在 Release 目录中查找文件很奇怪。您通常总是从调试配置开始。

关于c++ - 使用 visual studio 导入 lib 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19384157/

相关文章:

vb.net - 在 ListView 控件 WinForms 上禁用组选择

javascript - ASP .Net 在文本更改回发时更新 asp 页面上的单个元素

c++ - 当整数变量用于在 C++ 中声明数组大小时,错误显示为 "Expression must have a const value"

c++ - 如果我只需要其中的几个函数,是否值得包含一个大型 C++ 库?

c++ - 如何捕获 QSystemTrayIcon 退出事件?

c++ - 创建一个非线程安全的 shared_ptr

时间:2019-03-14 标签:c++templates: syntax of template-parameter-key

c++ - 在C++类中声明参数构造函数时出错

c++ - 我可以将可执行文件构建为 dll 吗?

c++ - 在 Visual Studio C++ 2008 中链接库 (.lib) 和 (.dll)