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

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • c语言的条件运算符,条件运算符c语言[通俗易懂]

    c语言的条件运算符,条件运算符c语言[通俗易懂]C语言中条件运算符是什么意思C语言中条件运算符是什么意思?:是什么意思怎么利用呢举例说明条件运算符(?:)是一个三目运算符,即有三个操作数。使用条件运算符(?:)可以实现Ifelse的功能,其一般形式为:表达式1?表达式2:表达式3例如条件语句:if(a>b)max=a;elsemax=b;可用条件表达式写为max=(a>b)?a:b;执…

  • 超声波雷达简介_陕西雷达简介

    超声波雷达简介_陕西雷达简介超声波雷达听着很陌生,但其实一直被广泛使用在倒车上,与毫米波雷达不同的是:超声波能被任何材质的障碍物反射,毫米波只能被金属物体反射,超声波雷达的探测距离又很近,到底工作原理是什么,下面我带大家一起来来看看。1.工作原理超声波雷达的工作原理是通过超声波发射装置向外发出超声波,到通过接收器接收到发送过来超声波时的时间差来测算距离。常用探头的工作频率有40kHz,48kHz和58kHz三种。一般来说,频率越高,灵敏度越高,但水平与垂直方向的探测角度就越小,故一般采用40kHz的探头。超声波

  • sql_UNION合并 INTERSECT交集 MINUS

    sql_UNION合并 INTERSECT交集 MINUS

  • scp命令拷贝文件

    scp命令拷贝文件简介scp(securecopy)是一个基于SSH协议在网络之间进行安全传输的命令。如果是从本地拷贝到远程,格式为:scp文件用户名@IP地址:目标目录如果是从远程拷贝到本地,格式为:scp用户名@ip地址:带路径文件名本地目录参数-v显示详细的连接进度-P指定远程主机的sshd端口号-r用于传送文件夹-6使用IPv6协议例子从本地拷贝到远程[root@localhost~]#scpmyhistory.txtroot@192.168.31.

  • html幻灯片图片切换效果代码,javascript实现图片切换的幻灯片效果源代码[通俗易懂]

    html幻灯片图片切换效果代码,javascript实现图片切换的幻灯片效果源代码[通俗易懂]网页上有许多图片切换的幻灯片效果,它们大多用flash实现,那javascript能不能实现他们呢,当然可以,我自己写了一个,和大家一同分享废话少说,看代码sx.activex.imagefade={init:function(imga,fadeint,fadeoutt){varti=newArray();for(vari=0;iti[i]=newImage();ti[i].src=img…

  • C语言文件读写操作(详解)

    C语言文件读写操作(详解)数据流和缓冲区是什么?文件类型和文件存取方式都有啥?数据流就C程序而言,从程序移进,移出字节,这种字节流就叫做流。程序与数据的交互是以流的形式进行的。进行C语言文件的读写时,都会先进行“打开文件”操作,这个操作就是在打开数据流,而“关闭文件”操作就是关闭数据流。缓冲区在程序执行时,所提供的额外内存,可用来暂时存放准备执行的数据。它的设置是为了提高存取效率,因为内存的存取速度比磁盘驱动器快得多。当使用标准I/O函数(包含在头文件stdio.h中)时,系统会自动设置缓冲区,并通过数据流来读写文件。当

发表回复

您的电子邮箱地址不会被公开。

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