私はC++を学び、特に私のライブラリから関数をエクスポートしようとしています。エクスポートされた関数を指定するモジュール定義(.DEF)ファイルを設定しました。構文は、私がMSDNで読んだ内容に準拠しています。.DEFファイルのIntellisenseエラー
DEFファイルのほぼすべてのステートメントでインテリセンスエラーが発生する理由を理解しようとしています。例えば
:これらのすべてにもかかわらず(これらはエラーではなく警告)、ライブラリがうまく構築し、しかもを
unexpected token '@'
unexpected token 'PRIVATE'
:
EXPORTS
LibDescription @1 PRIVATE
LibInitialize @2 PRIVATE
LibVersion @3 PRIVATE
の線に沿ってインテリセンスのエラーを生成します必要な機能をすべてエクスポートするので、リスト内の実際のコードエラーを確認するのが難しくなります。
この動作が期待されていますか、それともどこかで紛失している設定がありますか?
編集:コメントにも示唆されているように、コンパイラ出力ペインには言及されていないので、ほとんどのエラーはリンカから来ており、コンパイラではありません。
edit2:エラーを生成しているのは、実際にはインテリセンス、編集されたタイトルとタグです。
リンカーエラーを意味しますか? '.def'ファイルはリンカーによって読み込まれます。コンパイラ自体がこれらのエラーを発生させた場合、 '.def'ファイルのビルドツールプロパティを誤って設定した可能性があります。 –
@FrédéricHamidiリンカーエラーとコンパイラーエラーを区別する方法がわかりません。 Visual Studioのインタラクティブエラー/警告ウィンドウにエラーが表示されます。どのコンポーネントがエラーを生成しているのかわかりません。私はまた、ファイルのための 'ビルドアクション'パラメータを見つけることができません。 'アイテムタイプ'が 'ビルドに参加しません'に設定されています。 – Rotem
うん、私はこの用語を誤用した。この設定は実際VS2010では 'Item Type'と呼ばれ、' .def'ファイルのためには 'buildに参加しません'が適切な値です(私は新しいプロジェクトでダブルチェックしました)。 'Output'ペインでエラーコードを確認できますか?コンパイラやリンカから来たものかどうかは確かに分かります。 –