如何在 Windows 7 64 位上链接到 Visual Studio 2012 中的 VTK 库
How to link to VTK library in Visual Studio 2012 on Windows 7 64-bit?
我的系统规格是: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)
我尝试了很多方法,但没有任何效果。我尝试的一些不成功的事情是:-
- 在调试和发布模式下将 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中的示例项目中获得所有信息,例如附加链接等。
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 试图在visual studio上用C++创建一个桌面应用程序
- 如何在MS Visual Studio 2019中运行QT UI
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Visual Studio Code - C++ Debugger 無法啟動
- Visual Studio 2019:插入多个C++风格的单行注释
- Visual Studio Code "undefined reference to `WinMain@16'"
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- Visual Studio中的函数声明和函数定义问题
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- Visual Studio mkl_link_tool.exe链接错误
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 不同的Visual Studio版本中缺少.dll
- 用Visual Studio在C++中嵌入Julia
- Visual Studio 2017循环自动向量化问题
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- Visual Studio在尝试读取resource.txt文件时崩溃
- Visual Studio 2017 不允许我创建 C++ 专用模板