我们有一个 Windows 7 桌面,我们希望用它来运行 C++ 代码的 Windows 端口的自动化测试。如果在本地登录,它会成功使用 CMake 构建系统,使用 Visual Studio 10.0 进行编译。我们使用的自动化测试系统需要使用公钥身份验证通过 ssh 连接到构建机器,因此我安装了 Cygwin 并将 sshd 作为服务在单独的帐户 (cyg_server) 中运行。我可以很好地连接到它,使用它的密码登录到构建帐户,然后毫无问题地运行构建。但是,如果我然后添加公钥身份验证,我仍然可以正常登录,但构建失败,即使我已经登录并手动运行构建,所以它是一个登录交互式 bash shell,就像工作案例一样!错误信息是
3>LINK : fatal error LNK1101: incorrect MSPDB100.DLL version; recheck installation of this product
对于每个链接步骤。
导致这种情况的密码和公钥身份验证在环境中可能有什么不同?请注意,工作和失败案例之间的其他一切都是相同的——只有身份验证方法发生了变化,这是可重复的,因此它不会以特定顺序运行构建,这是有问题的。