如何在 Windows 7 64 位上链接到 Visual Studio 2012 中的 VTK 库

How to link to VTK library in Visual Studio 2012 on Windows 7 64-bit?

本文关键字:Studio Visual 2012 中的 VTK 链接 Windows      更新时间:2023-10-16

我的系统规格是:a) 视窗 7 家庭高级版 64 位b) Visual Studio 2012 Professional。

我使用 cmake 2.8.12.2 从源代码编译了 VTK 6.1.0 构建中涉及的路径和过程简要概述如下(该库是使用 SHARED_LIBS = ON 构建的,因为我需要包装 python 并使用 SHARED_LIBS 包装所需的构建):a) 我在 C:\Libraries\VTK-6.1.0 中解压缩了源代码,并在其中创建了一个文件夹 \buildb) 我进行了配置和生成,并打开了使用英特尔 TBB 的选项。c) 配置类型是 MinSizeRel(我猜它类似于仅发布。我刚刚从 CMAKE 配置类型中删除了调试选项,其余部分保持不变。当我最终构建它时,它是在MinSizeRel中构建的。

d)然后我在\build文件夹中打开ALL_BUILD项目并构建了库e) 随后我以行政权限运行了 INSTALL 项目。

然后我看到在 C:\Program Files\VTK 中创建了 bin 、include 和 lib 文件夹并填满了文件

然后我写了一个示例 VTK 代码,取自 VTK 维基页面。我将其他包含目录设置为 C:\Program Files\VTK\include 和 tbb 包含目录的目录。对于其他库目录,我使用了 C:\Program Files 中的 \VTK\lib 文件夹和 tbb lib 目录。

现在,当我尝试构建项目时,我面临以下链接错误,我在下面提到其中一个错误:

vtk_1.obj :错误LNK2001:未解析的外部符号 "__declspec(dllimport) public: static class vtkPolyDataMapper * _cdecl vtkPolyDataMapper::New(void)" (_imp_?New@vtkPolyDataMapper@@SAPEAV1@XZ)

我尝试了很多方法,但没有任何效果。我尝试的一些不成功的事情是:-

  1. 在调试和发布模式下将 Visual Studio 项目的配置类型从 win32 更改为 x64

2) 在项目的库目录中提供 VTK 和 TBB 的 DLL 文件的路径。

我对Visual Studio没有深入的了解。我只是以程序员的身份与C++一起工作,很少在Visual Studio工作。在我看来,这里没有以某种方式链接到 obj 文件。我该如何纠正这种情况?

乌吉瓦尔

根据如何让 VTK 在您的家用计算机上工作,您可能还需要在属性中的"其他依赖项"中放置多个文件名。

通常,Visual Studio 项目属性包含三个信息。首先,在"VC++ 目录"下的"包含目录"中包含目录。第二个是VC++目录下的库目录中的库目录。最后一个是链接器下输入的其他依赖项。我看到你做了前两件事,所以请尝试最后一件事。

此外,根据设置,您可能需要 dll(动态链接库)位于可执行文件所在的同一文件夹中。

另一件事,特别是VTK,请验证您运行的安装项目。我在 VTK 6.3 项目中看到了ALL_BUILD、安装和ZERO_CHECK项目。我相信安装项目实际上会将VTK安装在某个文件夹,例如程序文件/VTK。

我能够使用 CMake 构建并选择生成 32 位 dll。除常规设置外,选择将为您创建示例项目的示例。

生成的示例很容易构建和工作。调查示例后,您将从VTK中的示例项目中获得所有信息,例如附加链接等。