2

VS2010で自分のライブラリファイル(.lib)をコンパイルしましたが、次のように参照しようとすると

#pragma comment(lib,"path/to/lib.lib")

未解決の外部シンボルが表示され続けます...何が間違っていますか?#pragma comment(lib、 "* .lib")はこれまでのところどのライブラリでも機能し、設定の下でリンクしようとしましたが、成功しませんでした。

4

2 に答える 2

3

1) VS コマンド コンソール (ツール/Visual Studio コマンド プロンプト) を開きます。

2)cdコマンドを使用して、問題のライブラリを含むディレクトリに移動します。

3) 入力:

dumpbin /all my_lib_name.lib > lib.txt

my_lib_name.libライブラリの名前に置き換えます。lib.txt(大規模なライブラリの場合は、出力をテキスト ファイルに書き込む必要があります)。

4) 新しく作成されたこれを開いてlib.txt、ライブラリの内容を表示します。詳細については、こちらをご覧ください

于 2014-07-11T22:11:24.327 に答える
0
  1. 2 つのディレクトリを開きます。
    • 最初に含まれていた失敗したライブラリ
    • 2番目には、コンパイラを含むバイナリディレクトリが含まれています(私にとっては、C:\ Program Files\Microsoft Visual Studio 9.0\VC)
  2. mspdb*.dll (最初のディレクトリから) をライブラリのあるディレクトリにコピーします
  3. ライブラリ ディレクトリにある cmd.exe を開く
  4. "%FIRST_DIRECTORY/bin/dumpbin.exe" /ALL library.lib > lib.txt と書き込みます (たとえば、" C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\dumpbin.exe" /ALL MyTestLibrary. lib > lib.txt )
  5. 必要なメソッドを検索します(クラス名またはメソッド名で)

見つからない場合-開発者はそれを書いていません。または、メソッドの実装がインラインであること

2 番目の場合 - ソースの場所を IDE に伝える必要があります。 ところで、ユーザー ヘッダーを介してアクセスできるライブラリ コンパイル プロジェクトのメソッドはインラインではないことを覚えておいてください。速度を最適化するためにできることはすべて、fastcall です。

于 2013-02-20T23:19:53.907 に答える