VTK静态库编译无法在多线程(MTD)下调用

使用VS2019对VTK编译静态库,将构建动态库选项关闭后,构建的lib文件只能在多线程dll下运行,那么如何构建VTK静态库呢?

img

img

img

引用 皆我百晓生 小程序回复内容作答:
要构建VTK静态库,您可以按照以下步骤进行操作:

  1. 打开VTK的CMake配置工具,并指定源代码和构建目录。
  2. 在CMake配置工具中,找到以下几个选项,并进行相应的设置:
    • BUILD_SHARED_LIBS:关闭该选项,确保构建的是静态库而不是动态库。
    • VTK_USE_GUISUPPORT:如果您不需要图形用户界面支持,可以将其设置为OFF,以减少构建的依赖。
    • 其他相关选项:根据您的需求,进行相应的设置。
  3. 点击"Configure"按钮,进行初步的配置。
  4. 在CMake配置工具中,找到以下几个选项,并进行相应的设置:
    • CMAKE_INSTALL_PREFIX:指定安装目录,确定生成的静态库的位置。
    • 其他配置选项:根据您的需求,进行相应的设置。
  5. 点击"Generate"按钮,生成相应的构建文件。
  6. 使用生成的构建文件进行编译和链接,生成VTK的静态库。

请注意,VTK在不同平台和操作系统中的构建方式可能会有所不同,上述步骤是一个基本的指导。您可能需要参考VTK文档或在线资源来获取更详细的构建指导。

另外,请确保在使用VTK的静态库时,您的项目中也选择了相应的多线程静态库(MTS)选项,以确保库之间的一致性和兼容性。