VS2010 を使用して VTK 6.0 を学習しようとしています。cmake 2.8.2 を使用して VTK 6.0 を抽出してビルドしました。binフォルダーにすべての「dll」、インクルードフォルダーに「ヘッダーファイル」、libフォルダーにすべての「オブジェクトライブラリ」があります。これらはすべて C\VTK-6.0 に格納されています。ビルドを使用して VTK.sln と INSTALL ファイルを正常にビルドできるため、cmake を使用した VTK のインストールは成功したと思います。円錐形状を表示しました。そのため、win32 コンソール vc++ を使用して同じコーンのコードを記述しようとしています。システム プロパティ環境変数を使用して、環境変数に VTK-6.0\bin のディレクトリを含めます。また、C++ 追加のインクルード ディレクトリに「インクルード ディレクトリ」と「lib ディレクトリ」を含めます。Linker\Additional ライブラリ ディレクトリから、追加の依存関係 vtksys-6.0.lib、vtkzlib-6.0.lib、vtktiff-6.0.lib、vtkRenderingVolume-6.0.lib について具体的に言及します。これはすべて、プロパティ マネージャーを介して行われます。以下は私が書いたコードです。
#include "vtkConeSource.h"
#include "vtkPolyDataMapper.h"
#include "vtkRenderWindow.h"
#include "vtkCamera.h"
#include "vtkActor.h"
#include "vtkRenderer.h"
int main()
{
vtkConeSource *cone = vtkConeSource::New();
cone->SetHeight( 3.0 );
cone->SetRadius( 1.0 );
cone->SetResolution( 10 );
return 0;
}
リリース 64 でこのサンプル コードを実行すると、VS2010 で次のエラーが発生します。
エラー LNK2001: 未解決の外部シンボル "__declspec(dllimport) public: static class vtkConeSource * _ cdecl vtkConeSource::New(void)" ( _imp_?New@vtkConeSource@@SAPEAV1@XZ).
私はすべてのフォーラムを読み、その理由を見つけようとしました。返信のほとんどは、ライブラリ ファイルがリンカーで適切に指定されていないことに言及しています。ただし、ヘッダー ファイルはコンパイラによって認識されています。私の場合、このコードにそれらを適切に含めて言及しましたが、それでも LNK 2001 エラー undefined external sysmbol が発生します。他のオプションも試しましたが、これを解決できないようです。また、Debug 64 モードを使用してこのコードを実行しましたが、それでも同じエラーが発生します。誰かがこれで私を助けることができれば、私は非常に感謝しています。乾杯IA