vs2017编译CTK
大家好,又见面了,我是你们的朋友全栈君。
1.下载源码https://github.com/commontk/CTK
2.配置Cmake选项
编译环境选择vs2017 64bit
出现第一个error,根据出现的error我们添加qt5的路径,继续configure:
勾选advanced,作以下配置:
Build_testing 取消
CTK_ENABLE_WIDIGETS 勾选
CTK_LIB_VISUALIZATION/VTK/CORE 勾选
CTK_LIB_VISUALIZATION/VTK/WIDGETS 勾选
CTK_LIB_WIDGETS 勾选
以上设置完成继续configure,出现下图,我们勾选CTK_LIB_VISUALIZATION/VTK/WIDGETS_USE_TRANSFER_FUNCTION_CHARTS,继续configure
最后点击generate
3.以administrator身份打开vs2017,并从vs2017中打开CTK PROJECT,右键all_build并build
4.继续打开CTK工程下的CTK_BUILD目录,我们会发现该目录下还有一个CTK.sln,我们需要继续编译它
5.上图中的CTK.sln打开结果如下图
如果我们直接用build整个项目,那么生成的CTK在debug版本下面是不带有d后缀的,我们要让debug版本下生成的dll全部带有d后缀
6.修改debug模式下所有CTK前缀的工程项目属性,使之输出带有d后缀,以CTKViusalizationCore为例修改
右键CTKViusalizationCore打开property
7.编译整个项目,应该会出现如下错误
我们定位到这个错误的输出
发现由于把CTKvisualizationVTKwidgetsplusgins.dll拷贝到另一个目录下错误的,但是我们明明修改了输出是带后缀的dll,就算要拷贝也是CTKvisualizationVTKwidgetsplusginsd.dll,继续修改CTKVisualizationVTKWidgetsPlugins项目属性,加上d后缀就好
修改结果如下
8.如果以上操作无误,应该会得到如下结果,所有文件都带有d后缀,特别是我们需要的dll文件和lib文件
9.右键install,把所有的库文件安装到C盘中
出现了如下错误
在输出列表中定位到该错误
又是不带d后缀的dll复制错误,我们根据它的描述,找到libs/core/cmake_install.cmake文件看看
破案了,在这个文件中,所有复制都是不带d后缀的,我们修改改它,注意,我们只要debug版本的,所以只用修改debug版本的,修改结果如下,为了避免改错,这个文件我们事先留一个备份最好
10.继续编译install工程,如果再出现类似上面的错误,我们以此类推继续修改,最终C盘会生成相应的库文件,而且都是带有d后缀的
积分用不完的朋友:https://download.csdn.net/download/baidu_33662202/11100177
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134871.html原文链接:https://javaforall.cn
相关文章
- ctk编译linux,CTK插件框架学习5-插件间通信(Netlink实现热拔插监控)[通俗易懂]
- 2022-10-31:以下go语言代码输出什么?A:map[];B:nil;C:Panic;D:编译错误。 package main import “fmt“
- 2022-10-31:以下go语言代码输出什么?A:map[];B:nil;C:Panic;D:编译错误。package mai
- 使用meson编译postgresql的方法
- 记录一些bazel适配用编译选项
- gcc编译原理和顺序
- 【Android FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载 | 配置脚本 | 输出路径 | 函数库配置 | 程序配置 | 组件配置 | 编码解码配置 | 交叉编译配置 | 最终脚本 )
- 【Android 逆向】代码调试器开发 ( 使用 NDK 中的 ndk-build + Android.mk 编译 Android 平台的代码调试器可执行应用 )
- Linux下ORTP的编译实践(ortplinux编译)
- 使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0
- Linux下使用C语言编译程序(linux系统c语言编译)
- 一起学习Clang编译MySQL(clang编译mysql)