0

助けてください、私は本当に長い間探していました。

Visual Studio 2010 を使用しており、外部ライブラリを含めようとしましたが、未解決の外部エラーが発生します。

外部プロジェクトは、次のようにファイルで構成されています

backend.cpp
//some functions 
frontend.cpp
//some functions
header.h

SCons を使用してこのプロジェクトをビルドし、プロジェクトに .lib ファイルを含めてそのパスを参照し、.h ファイルを msvc ディレクトリにコピーしました。

VSは(オートコンプリートから)backend.cppの関数にアクセスして読み取るようですが、プロジェクトを実行すると、呼び出された関数に未解決の外部@があると表示されます

4

2 に答える 2

2

私は Visual Studio の専門家ではありませんが、コードをオートコンプリートできることは、ソース コードのヘッダーを見つけることに関連していると思います。

未解決の外部は、コンパイラがリンク プロセスでオブジェクト ファイルを見つけられないことを意味します。これは、lib ファイルを正しく追加できなかったか、一部の .cpp ファイルが欠落していることを意味している可能性があります。

于 2011-08-23T16:21:42.793 に答える
1

これは、さまざまな理由で発生する可能性があります。しかし、それらはすべて次のいずれかになります。

  • 正しい .lib ファイルをリンクしていません。
  • プログラムで使用しているシンボル名は、.lib で提供されているものと同一ではありません。

最初のものは簡単に確認できるので、もう一度確認してください。

2番目のものはよりトリッキーです。プログラムで使用されているシンボル名は、「未解決の外部シンボルabc」などのエラー メッセージに出力されます。ライブラリで使用可能なシンボルは、次のコマンドで一覧表示できますdumpbin /all name.lib

問題が見つからない場合は、発生している正確なエラーと dumpbin プログラムの出力を投稿してください。

于 2011-08-23T16:41:30.703 に答える