1

私はかなり前からMFC関連の問題に悩まされてきました。運が悪かったので、たくさんのフォーラムやVTKユーザーの投稿などを読んだことがあります。

私の基本的な問題は、vtkMFC.libがビルドされていないことです。プロジェクトをどのように構築または構成しても。

これらは私が従ったステップです:

  1. CMake 2.8.9を使用してVTK.slnを生成し、VTK_USE_GUISUPPORT、BUILD_SHARED_LIBS、VTK_USE_MFC、BUILD_EXAMPLESをオンにし、VTK_USE_VIDEO_FOR_WINDOWSをオフにします。
  2. VS-2008でVTK.slnを開き、vtkMFC.slnのみをビルドします
  3. ソリューション全体を構築します。{ポイント2と3を交換して試しましたが、結果はありません}
  4. 6つのエラーがあります。そのうちの3つは、vtkMFC.libが存在しないという事実に関係しています(例として。明らかに)。残りは、解決されたいくつかの外部シンボルに関するものです。

エラーLNK2019:未解決の外部シンボル "__declspec(dllimport)public:static class vtkDataSetReader * _ cdecl vtkDataSetReader :: New(void)"( _imp_?New @ vtkDataSetReader @@ SAPAV1 @ XZ)関数 "protected:__ thiscall CSampleDoc :: CSampleDoc (void) "(?? 0CSampleDoc @@ IAE @ XZ)in SampleDoc.obj

エラーLNK2019:未解決の外部シンボル "__declspec(dllimport)public:class vtkDataSet * _ thiscall vtkDataSetReader :: GetOutput(void)"( _imp_?GetOutput @ vtkDataSetReader @@ QAEPAVvtkDataSet @@ XZ)関数 "public:virtual int __thiscall CSampleDoc: :OnOpenDocument(char const *) "(?OnOpenDocument @ CSampleDoc @@ UAEHPBD @ Z)in SampleDoc.obj

vtkMFCソリューションのDebug/binで生成されるファイルはvtkMFCです。dll、vtkMFC。idb、vtkMFC。ilk、vtkMFC。pdb

また、エラーを生成したプロジェクトにvtkIO.libを追加しましたが、同じエラーが続き、vtkIO.libが見つからないという別のエラーが発生します。

この点での助けをいただければ幸いです。

最高、Sarthak

4

1 に答える 1

0

2013年2月現在の回答:

結局のところ、 VTK5.10.1にはいくつかの問題があります。5.8.0を使用すると、問題が解決しました。

CMakeからVTKを構築する際に留意すべき特定の事項:

が選択されている場合BUILD_SHARED_LIBS(つまり、DLLを生成する場合)、すべてのフラグがに設定されていることを確認し/MDます。BUILD_SHARED_LIBSが選択されていない場合(つまり、DLLが生成されず、静的ライブラリを介してリンクしている場合)、すべてのフラグがに設定されていることを確認します/MT

于 2014-02-04T15:22:20.320 に答える