4

Windows 7 デスクトップを使用して、C++ コードの Windows ポートの自動テストを実行したいと考えています。ローカルにログインしている場合、Visual Studio 10.0 でコンパイルして、CMake ビルド システムを正常に使用しています。私たちが使用している自動テスト システムは、公開鍵認証を使用してビルド マシンに ssh する必要があるため、Cygwin をインストールし、別のアカウント (cyg_server) で sshd をサービスとして実行しています。パスワードを使用してビルド アカウントにログインし、ビルドを問題なく実行できます。ただし、公開鍵認証を追加すると、引き続き正常にログインできますが、ログインして手動でビルドを実行してもビルドは失敗するため、作業ケースと同様にログインインタラクティブbashシェルです! エラーメッセージは

3>LINK : fatal error LNK1101: incorrect MSPDB100.DLL version; recheck installation of this product

リンクステップごとに。

これを引き起こしているパスワードと公開鍵認証の間の環境で何が異なる可能性がありますか? 動作しているケースと失敗しているケースの間で他のすべてが同じであることに注意してください。認証方法のみが変更されており、これは繰り返し可能であるため、特定の順序でビルドを実行しているのではありません。

4

2 に答える 2

3

cyglsa-configおそらく、Cygwin bash シェルで実行してから、システムを再起動する必要があります。Cygwin シェル ショートカットを右クリックし、[管理者として実行] を選択してシェルを起動する必要がある場合があります。そうcyglsa-configしないと、権限エラーで失敗する場合があります。同じ問題 (別のバージョンの Visual C++) があり、cyglsa-config修正しました。

Cygwin ドキュメントの次のページでは、Windows セキュリティに関連する問題について説明しています。

http://cygwin.com/cygwin-ug-net/ntsec.html

関連するものは、「ユーザーコンテキストの切り替え」と呼ばれるセクションから始まります。デフォルトのアプローチには Visual C++ で問題があることを具体的に述べています。

于 2013-10-20T00:44:11.840 に答える