8

今日、私は Visual Studio 2010 (Visual C++) を起動し、プロジェクトの作業を開始しました。このソリューションには 2 つのプロジェクトが含まれています。1 つは私が書いている静的ライブラリで、もう 1 つはライブラリの単体テストを含むテスト アプリケーションです。

昨日から何も変更せずに、実行可能ファイルはリンクしなくなりました:

LINK : fatal error LNK1104: cannot open file 'mylib.lib'

静的ライブラリは正常にコンパイルおよびリンクされます。プロジェクトの設定を約 1 週間変更していませんが、昨日は問題なくリンクしていました。

実行可能プロジェクトの設定に移動して のライブラリ ディレクトリを追加すると$(SolutionDir)\debug、代わりに次のリンク エラーが発生します。

LINK : fatal error LNK1104: cannot open file 'kernel32.lib'

何が問題なのかわかりません。マシンのクリーニング、再構築、さらには再起動を試みました。Google は、古いバージョンの Visual C++ (ただし、私は 2010 を使用しています) のいくつかのバグと、プログラムが既に実行されている可能性を明らかにしました。ただし、実行されていないため、再起動するとこれが確認されます。

リンカが kernel32.lib などのコア ライブラリ、またはソリューションの出力ディレクトリを見つけられない原因は何ですか?

これは昔ながらの C++ であり、クロスプラットフォーム ライブラリであり、Microsoft が追加した管理対象ではありません。

4

3 に答える 3

4

「ライブラリディレクトリ」ダイアログで「親またはプロジェクトのデフォルトから継承」をチェックする必要がありました。これを行うと、リンカーは必要なすべてのライブラリを見つけることができました。それでも含めなければなり$(SolutionDir)\debugませんでした。

于 2010-09-05T21:33:49.250 に答える
3

project->properties->linker->general->additional library ディレクトリに Microsoft SDK ディレクトリを含めます。

私のコンピューターでは

D:\Program Files\Microsoft SDKs\Windows\v7.1\Lib

于 2012-11-25T22:50:46.637 に答える
1

「.NET Framework ソース ステッピングを有効にする」を無効にすることで、この問題を修正しました(「メニュー バー / ツール / オプション / デバッグ / 全般 / .NET Framework ソース ステッピングを有効にする」を参照)。どうやらこれは Visual Studio のバグです。

于 2011-03-01T08:29:59.367 に答える