zoukankan      html  css  js  c++  java
  • cmake配置vs+qt+vtk

    开发图形相关的软件时,qt+vtk是一个不错的搭配,qt负责gui,vtk负责底层图形渲染。初步尝试用cmake来构建解决方案,cmakelists.txt如下。

    cmake_minimum_required(VERSION 3.3)
    
    project(testproject)
    
    # Instruct CMake to run moc automatically when needed
    set(CMAKE_AUTOMOC ON)
    # Create code from a list of Qt designer ui files
    set(CMAKE_AUTOUIC ON)
    
    # cmake通常找不到qt5的路径,这里手动设置一下吧,当然也可以在cmake-gui上根据报错的提示来设置
    #set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "c:\Qt\Qt5.12.2\5.12.2\msvc2017_64\lib\cmake\Qt5")
    
    # Find the needed Qt libraries
    find_package(Qt5 COMPONENTS
    Core Gui Widgets REQUIRED)
    
    # VTK相关target
    find_package(VTK REQUIRED)
    # 该命令是必须的,否则构建出的项目运行时会有初始化的问题
    include(${VTK_USE_FILE})
    
    # support for out-of-source build
    INCLUDE_DIRECTORIES(
    ${CMAKE_CURRENT_BINARY_DIR}
    ${CMAKE_CURRENT_SOURCE_DIR}
    )
    
    # Populate a CMake variable with the sources
    set(SRC
    test.h test.cpp
    test.ui test.qrc
    main.cpp
    )
    
    set(UI test.ui)
    set(RCC test.qrc)
    
    # Assign filters. Optional, but useful.
    # 对于使用visiual studio加qt-vsaddin开发来说,形成相应的过滤器
    source_group("Form Files" FILES ${UI})
    source_group("Resource Files" FILES ${RCC})
    # 让这个过滤器为空吧。因为用vs+vsaddin直接建立qt项目时,会产生这个过滤器,但也不会自动添加产生的moc文件,不知道原因,
    # 因此就空着吧。
    source_group("Generated Files")
    
    # 添加target的所有相关源文件
    # WIN32也是必须的,This makes it a GUI executable instead of a console application.
    add_executable(testproject WIN32 ${SRC})
    # 添加target对QT和VTK的所有依赖库,包括相应的头文件,这里会自动识别。
    target_link_libraries(testproject ${QT_LIBRARIES} ${VTK_LIBRARIES})
    
     

    可以成功生成qt+vtk的visiual studio解决方案。但存在一个问题,生成的项目和vs直接新建的qt项目不同,没有带有qt相关的信息,例如在项目上点右键,没有qt相关的信息,例如添加class等。这条路适合打包已有完整的解决方案,但不太适合从零开始构建一个项目。

    其实想想也正常,cmake只负责qt和vtk形成visiual studio的解决方案,而vs和qt的项目属性级别的深度集成是 Qt VS Tools(qt-vsaddin)负责的,cmake无从知道这些信息。

  • 相关阅读:
    springboot 踩坑之表单验证
    爬虫学习研究
    selenium+chrome知识
    每天学一点linux命令
    Javascript禁止子元素继承父元素的事件
    sass编译css(转自阮一峰)
    php配置虚拟主机的配置步骤(hosts、httpd.conf、vhosts.conf)1.配置本地的dns文件2.配置apache的主配置文件3.配置Apache的虚拟主机
    修改原代码定制bootstrap
    网页在线进行标准验证
    浏览器兼容性判定写法格式(ie)
  • 原文地址:https://www.cnblogs.com/ljy339/p/10715952.html
Copyright © 2011-2022 走看看