Mel*_*Med 5 c++ dll visual-studio-2010
我正在尝试导入如下文件:
#import "francais.dll"
Run Code Online (Sandbox Code Playgroud)
它告诉我它无法打开源文件"C:/xxxx/Proj/Release/francais.tlh"
库文件存在于Proj中.
怎么解决?
Han*_*ant 10
它不是"库文件",而是COM服务器.#import指令从嵌入在francais.dll中的类型库中自动生成.tli和.tlh文件.没有明显的原因导致它无法加载.tlh文件,该DLL可能有问题.很难从这里看到.确保您没有忽略先前的错误,从错误列表窗口的顶部开始.
作为基本检查,您可以自己查看该类型库.从Visual Studio命令提示符运行OleView.exe并使用文件+视图Typelib,选择该DLL.您需要查看类型库的内容,反编译成IDL.
您也可以在VS中看到它,使用File + Open + File并选择DLL.您将看到DLL中嵌入的资源,需要一个标记为"TYPELIB"的节点,其中一个资源的ID为1,即实际类型库.如果这两个验证出现任何问题,那么#import指令也不太可能正常工作.
请注意,尝试在Release目录中找到该文件很奇怪.您通常始终从Debug配置开始.
您需要将.lib添加到项目属性中.你有一个.lib与DLL一起使用吗?处理类似问题的另一个问题可以在这里找到:如何在Visual Studio C++中使用第三方DLL文件?
需要注意的主要事项是你是否有一个.lib与你的DLL一起去.我之前做过的另一件事,但我不完全建议将DLL复制到与可执行文件相同的目录中.每当加载DLL时,Windows都会自动检查可执行文件所在的路径.
1)在菜单栏(窗口顶部)上单击project- > properties(或alt + f7).

2)打开配置properties- > linker.然后在general选项卡中,将目录添加到您的"Additional Library Directories".

3)然后单击input右下方general并将lib的名称添加到"Additional Dependencies"
