2012-04-21 41 views
1

新しいライブラリを試してみると、この問題が頻繁に発生します。今回私はPointGrey Cameraで作業し、APIライブラリ(DLL、lib、ヘッダーファイル)を使用しようとしました。私はまた、プロジェクトの設定で試しました: +プロジェクトのプロパティ/プロジェクトの設定で試してみましたが、ほとんどの問題は、SDK(私はVS2008を使用しています)のツール/オプション/ VC++のディレクトリ/インクルードファイル(/ライブラリファイル)リンカ/入力/その他の依存関係 +プロジェクトプロパティ/リンカ/一般/追加のライブラリディレクトリ未解決の外部シンボルコンパイルエラー

今回は、この時点でまだエラーがあります。

この問題に対処する一般的な方法はありますか?

私はVS2008からこの診断を理解する必要がありますか?

Error 1 error LNK2019: unresolved external symbol __imp__flycaptureGetPacketInfo referenced in function "enum FlyCaptureError __cdecl initializeStandardEventSizes(void *,struct FlyCaptureImageEvent * const)" ([email protected]@[email protected]@[email protected]@@Z) main_2.obj test 

これらの問題を確実に解決するために、Dependencies Walkerなどの分析ツールを使用しますか?

+2

少しを明確にしてください:プロジェクト設定(リンク - >オブジェクト/ライブラリモジュールのようなもの; VS2008の場合)、またはライブラリ__directories__を設定に追加しただけですか? –

+0

私は両方の方法を試してみました。API libsに2つのlibファイル* .libが追加されました。次に、APIのすべての静的ライブラリとDLLを作業フォルダにコピーします。私は明らかに質問で言ったように、両方が正常に動作しなかった –

答えて

0

この問題は最近解決されました。私はPointGreyの互換性のないライブラリをインストールしました。それがうまくいかない理由です。しかし、これは "互換性のないライブラリ"と "未解決の慣習的なシンボルエラー"の間に何かを言います

+0

の間に何かを示しています。時には、インストールする正しいAPIライブラリを選択するのが本当に難しい場合もあります。私はWin7 x64を使用しますが、PointGrey x64のインストールは決して動作しません。今、PointGrey SDK x86でとてもスムーズに動作します。それだけでなく、私は最新のSDK v2.3をインストールする必要があります。他は動作しません。一方、PointGrey Webサイトのインストール指示に従って、いずれもwin7とVS2008で正常に動作します。 Sooo ....混乱して面倒な!! –

1

このメッセージは、コード内に記号(関数または変数)を使用したことを示しています。このシンボルはおそらくどこかで宣言されていました(あなたのコードに含まれているヘッダーファイルの可能性が高い)。そうしないと、コンパイルエラーが発生していました。リンカがシンボルを検索したとき(あなたのオブジェクトファイルとあなたが調べるよう指示したlibファイルの両方で)、それを見つけることができませんでした。あなたは、リンカは、あなたがそれをで検索したいlibに知らせるのを忘れているので、通常は起こり

ほとんどのライブラリは、あなたがすべてを正しくセットアップする助けとランニングを避けることになっている命令のセットが付属していますこれらの問題に取り組む。

+0

、私は他のAPIのlibsで普通にやったことをやった。たとえば、OpenCVライブラリは動作しませんでした。私は今Point GreyカメラAPIを使用していますが、ライブラリが2つあり、2 * .libと* .dllのフォルダはありません。何がうまくいかない?それを修正する方法 –

+0

@SonLeあなたが普通にやっていることはあなたにとっては普通のように見えますが、あなたが何をしたのか、そしてそれが何か意味があるのか​​分かりません。あなたが今使用している特定のライブラリ(過去に使用した他のライブラリではない)には、おそらくそれをどのように使用するか指示があります。 – selalerer

+0

あなたが気にしているのなら、私の元の質問をお読みください。私はそこにすべてを書きました。私も最後のコメントでこれを強調しました –