在我的主项目目录中,有一个.TLB文件。它中包含旧信息,并将其编译为二进制文件 - 我可以通过在十六进制编辑器中查看已编译的二进制文件来判断它。
奇怪的是,我在主VC ++目录中更新了我的.IDL,并在项目构建目录(\ Debug)中编译成.TLB,但它没有包含在二进制文件中。
我通过将\ Debug \ Project.TLB复制到主目录来解决了这个问题,但为什么新编译的.TLB不会自动用于二进制文件?
答案 0 :(得分:1)
TLB是通过资源脚本包含的,所以如果.rc文件指向主项目目录中的TLB,那就是将要使用的那个。
此项目是否从旧版Visual Studio升级?我似乎记得他们在某些时候更改了默认输出位置。
你应该做的是进入.rc文件并调整路径,使其指向实际的输出位置。分离调试/发布配置可能会有点棘手,但是......
另一个想法是更改MIDL的输出以将TLB放在主项目目录中,以便.rc路径指向正确的东西。