我正在尝试使用 VS2010 学习 VTK 6.0。我使用 cmake 2.8.2 提取并构建了 VTK 6.0。我在 bin 文件夹中有所有“dll”,在 include 文件夹中有“头文件”,在 lib 文件夹中有所有“对象库”;所有这些都存储在 C\VTK-6.0 我相信我使用 cmake 安装 VTK 已经成功,因为我可以使用 BUILD 成功构建 VTK.sln 和 INSTALL 文件我还在 bin 文件夹中执行了 cone.exe 示例它显示了一个圆锥几何。所以现在我尝试使用 win32 Console 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