0

この問題は純粋に学術的なものであるため、以下は単なる例です。この行の前に 2 つのスラッシュを追加すると

#pragma comment(lib, "../node-src/Release/node")

ダースのリンカーエラーが発生します。ダースほどではありませんが、少なくとも 2 ~ 3 行はこのように表示されます

1>test.obj : error LNK2001: unresolved external symbol "public: static class 
v8::Local<class v8::String> __cdecl v8::String::New(char const *,int)" 
(?New@String@v8@@SA?

これで、ほとんどの要件が仕様に含まれていることがわかりましたが、リンカーに実際に欠けているファイルを知る方法はありますか? そのディレクティブを通常のインクルードに置き換えるとしたら#pragma、どのような手順を踏む必要がありますか?

4

1 に答える 1

3

簡単に言うと、答えは、リンカーに欠落しているファイルを簡単に見分ける方法がないということです。知っているのは、検索するシンボルだけであり、含める必要のあるライブラリファイルではありません。結局のところ、リンカーに検索先を指示する限り、任意の場所の任意のライブラリでこれらのシンボルを定義できます。

潜在的なライブラリがたくさんある場合は、SOに関するこの投稿のようにLib.exeのようなものを使用して、一致するシンボルを検索し、それらのファイルにリンカーを向けてみてください。ただし、リンカーにこれを見つける方法はありません。あなたのための情報..

于 2012-06-19T22:05:36.760 に答える