在Build上构建项目时,编译失败,出现错误消息:
TlbImp: error TI0000 : The input file 'C:\*.dll' is not a valid type library.我们试图通过TlbImp命令提示符手动调用VS2005命令,并出现了相同的错误消息。
为了进行调查,我们尝试在虚拟机(Vbox)中创建一个干净的构建环境,然后在那里运行构建。一切顺利。
我们还试图通过TlbImp命令提示符调用同一个VS2005命令,它成功了。
这样,我们假设DLL没有什么问题。你知道什么场景会导致这个问题吗?
编辑:找到问题了,请看我的答案。;)
发布于 2009-06-17 10:16:18
经过仔细研究,我们发现官方构建服务器上的环境变量是FUBAR。
正式的构建服务器同时安装了VS2003和VS2005。我们的项目是VS2005。构建脚本使用的是来自VS2003的组件,而不是VS2005,因为VS2003路径(Path、LIB、LIBPATH和VS2003)首先在VS2005路径之前声明。
一个简单的SET命令,可以用“正确的”修改构建来覆盖环境变量!
谢谢!
发布于 2009-06-17 09:26:26
如果它在一台机器上工作,而不是在另一台机器上工作,那么很可能您的计算机中缺少这个DLL的一些依赖关系。通过DependencyWalker检查dll,您将了解哪些依赖项没有正确构建。
https://stackoverflow.com/questions/1005932
复制相似问题