vs2017编译CTK

vs2017编译CTK1.下载源码https://github.com/commontk/CTK2.配置Cmake选项编译环境选择vs201764bit出现第一个error,根据出现的error我们添加qt5的路径,继续configure:勾选advanced,作以下配置:Build_testing取消CTK_ENABLE_WIDIGETS勾选CTK_LIB_VISU…

大家好,又见面了,我是你们的朋友全栈君。

 

1.下载源码https://github.com/commontk/CTK

2.配置Cmake选项

编译环境选择vs2017 64bit

vs2017编译CTK

 出现第一个error,根据出现的error我们添加qt5的路径,继续configure:

vs2017编译CTK

 勾选advanced,作以下配置:

Build_testing 取消

CTK_ENABLE_WIDIGETS 勾选

CTK_LIB_VISUALIZATION/VTK/CORE 勾选

CTK_LIB_VISUALIZATION/VTK/WIDGETS 勾选

CTK_LIB_WIDGETS 勾选

 

vs2017编译CTK

 以上设置完成继续configure,出现下图,我们勾选CTK_LIB_VISUALIZATION/VTK/WIDGETS_USE_TRANSFER_FUNCTION_CHARTS,继续configure

 

vs2017编译CTK

 最后点击generate

vs2017编译CTK

 3.以administrator身份打开vs2017,并从vs2017中打开CTK PROJECT,右键all_build并build

 

vs2017编译CTK

 4.继续打开CTK工程下的CTK_BUILD目录,我们会发现该目录下还有一个CTK.sln,我们需要继续编译它

vs2017编译CTK

 

vs2017编译CTK

 5.上图中的CTK.sln打开结果如下图

 

vs2017编译CTK

 如果我们直接用build整个项目,那么生成的CTK在debug版本下面是不带有d后缀的,我们要让debug版本下生成的dll全部带有d后缀

 6.修改debug模式下所有CTK前缀的工程项目属性,使之输出带有d后缀,以CTKViusalizationCore为例修改

右键CTKViusalizationCore打开property

vs2017编译CTK

 

vs2017编译CTK

 

vs2017编译CTK

 7.编译整个项目,应该会出现如下错误

vs2017编译CTK

 我们定位到这个错误的输出

vs2017编译CTK

 发现由于把CTKvisualizationVTKwidgetsplusgins.dll拷贝到另一个目录下错误的,但是我们明明修改了输出是带后缀的dll,就算要拷贝也是CTKvisualizationVTKwidgetsplusginsd.dll,继续修改CTKVisualizationVTKWidgetsPlugins项目属性,加上d后缀就好

 

 

vs2017编译CTK

 

修改结果如下

vs2017编译CTK

 8.如果以上操作无误,应该会得到如下结果,所有文件都带有d后缀,特别是我们需要的dll文件和lib文件

vs2017编译CTK

 9.右键install,把所有的库文件安装到C盘中

 出现了如下错误

vs2017编译CTK

 在输出列表中定位到该错误

vs2017编译CTK

 又是不带d后缀的dll复制错误,我们根据它的描述,找到libs/core/cmake_install.cmake文件看看

 

vs2017编译CTK

 破案了,在这个文件中,所有复制都是不带d后缀的,我们修改改它,注意,我们只要debug版本的,所以只用修改debug版本的,修改结果如下,为了避免改错,这个文件我们事先留一个备份最好

vs2017编译CTK

10.继续编译install工程,如果再出现类似上面的错误,我们以此类推继续修改,最终C盘会生成相应的库文件,而且都是带有d后缀的

 

vs2017编译CTK

 

积分用不完的朋友:https://download.csdn.net/download/baidu_33662202/11100177

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134871.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于迁移学习「建议收藏」

    作者:刘诗昆链接:https://www.zhihu.com/question/41979241/answer/123545914来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。2018.1.二次更新/重点介绍迁移学习和其相关方向,完整删除之前的答案,并重新规整了迁移学习内容和代表性文章。什么是/为什么要迁移学习?迁移学习(T

    2022年4月17日
    62
  • stringstream的用法如何会出现-1为ffff的情况_string读取文件指定长度

    stringstream的用法如何会出现-1为ffff的情况_string读取文件指定长度【本文来自】http://www.builder.com.cn/2003/0304/83250.shtmlhttp://www.cppblog.com/alantop/archive/2007/07/10/27823.html使用stringstream对象简化类型转换C++标准库中的提供了比ANSIC的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库

    2022年5月3日
    70
  • 即时通讯——P2P传输技术详解[通俗易懂]

    即时通讯——P2P传输技术详解[通俗易懂]纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。有些网络(如Napster,OpenNAP,或IRC@find)的一些功能(比如搜索)使用客户端-服务器结构,而使用P2P结构来实现另外一些功能。类似Gnutella或Freenet的网络则使用

    2022年7月16日
    46
  • 服务熔断与服务降级详解

    服务熔断与服务降级详解为深入理解服务雪崩解决方案中服务熔断和服务降级两个方式,在这儿做一个详解服务熔断什么是服务熔断:当下游的服务因为某种原因突然变得不可用或响应过慢,上游服务为了保证自己整体服务的可用性,不再继续调用目标服务,直接返回,快速释放资源。如果目标服务情况好转则恢复调用服务熔断的原理:业内普遍采用断路器模式原理:当远程服务被调用时,断路器将监视这个调用,如调用时间太长,断路器将会介入并中断调用。此外,断路器将监视所有对远程资源的调用,如对某一个远程资源的调用失败次数足够多,那么断路器

    2022年10月20日
    2
  • 目标检测百度百科_综述的提纲

    目标检测百度百科_综述的提纲目标检测目标检测要解决的核心问题目标检测最新进展目标检测应用

    2022年10月13日
    2
  • 【C#基础】-Substring截取字符串的方法小结

    【C#基础】-Substring截取字符串的方法小结前言    在公司的图书馆项目中曾经用过截取字符串的方法,项目是java语言的;最近在公司的另一个项目中又需要截取字符串,一种环境是C#语言,一种环境是SQLServer存储过程;先来说一下后台程序中截取字符串的方法。正文c#中截取字符串主要是借助Substring这个函数。stringstring.Substring(intstartIndex,intlength)

    2022年5月10日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号