cmake qt 添加路径 项目_cmake 创建 QT项目_weixin_39977934的博客-程序员秘密

技术标签: cmake qt 添加路径 项目  

包含VTK、ITK

cmake_minimum_required(VERSION 3.3 FATAL_ERROR)

project(bnAiClient)

find_package(VTK REQUIRED)

include(${VTK_USE_FILE})

find_package(ITK REQUIRED)

include(${ITK_USE_FILE})

if("${VTK_QT_VERSION}" STREQUAL "")

message(FATAL_ERROR "VTK was not built with Qt")

endif()

# Set your files and resources here

set( Srcs cJSON.c loaddicomdlg.cpp main.cpp maincenterwidgets.cpp mainleftwidgets.cpp mainrightwidgets.cpp maintopwidgets.cpp mainwindow.cpp common/basestylewidget.cpp common/dicomlablewidget.cpp common/dicomvtkwidget.cpp common/httpapi.cpp common/imagelistitem.cpp common/networkapi.cpp common/shadowwidget.cpp common/staticbutton.cpp common/staticruler.cpp common/titlebutton.cpp common/waitingdlg.cpp )

set( Hdrs cJSON.h loaddicomdlg.h maincenterwidgets.h mainleftwidgets.h mainrightwidgets.h maintopwidgets.h mainwindow.h common/basestylewidget.h common/dicomlablewidget.h common/consts.h common/dicomvtkwidget.h common/httpapi.h common/imagelistitem.h common/networkapi.h common/shadowwidget.h common/staticbutton.h common/staticruler.h common/titlebutton.h common/waitingdlg.h )

set( MOC_Hdrs loaddicomdlg.h maincenterwidgets.h mainleftwidgets.h mainrightwidgets.h maintopwidgets.h mainwindow.h common/basestylewidget.h common/dicomlablewidget.h  common/dicomvtkwidget.h common/httpapi.h common/networkapi.h common/shadowwidget.h common/staticbutton.h common/staticruler.h common/titlebutton.h common/waitingdlg.h )

set( QRCs res.qrc )

include_directories(

${CMAKE_CURRENT_BINARY_DIR}

${CMAKE_CURRENT_SOURCE_DIR}

)

# Instruct CMake to run moc automatically when needed.

set(CMAKE_AUTOMOC ON)

if(VTK_QT_VERSION VERSION_GREATER "4")

find_package(Qt5 COMPONENTS Widgets REQUIRED QUIET)

qt5_add_resources(QRC_Srcs ${QRCs} )

source_group("Resources" FILES

${QRCs}

${EXE_ICON} # Not present

)

source_group("Generated" FILES

${MOC_Srcs}

${QRC_Srcs}

)

# CMAKE_AUTOMOC in ON so the MocHdrs will be automatically wrapped.

add_executable(bnAiClient ${Srcs} ${Hdrs}  ${MOC_Hdrs} ${QRC_Srcs})

qt5_use_modules(bnAiClient Core Gui Widgets Network)

target_link_libraries(bnAiClient ${VTK_LIBRARIES})

else()

find_package(Qt4 REQUIRED)

SET(QT_USE_QTNETWORK TRUE)

include(${QT_USE_FILE})

# Use what VTK built with

set(QT_QMAKE_EXECUTABLE ${VTK_QT_QMAKE_EXECUTABLE} CACHE FILEPATH "")

set(QT_MOC_EXECUTABLE ${VTK_QT_MOC_EXECUTABLE} CACHE FILEPATH "")

set(QT_UIC_EXECUTABLE ${VTK_QT_UIC_EXECUTABLE} CACHE FILEPATH "")

qt4_wrap_cpp(MOC_Srcs ${MOC_Hdrs} )

qt4_add_resources(QRC_Srcs ${QRCs})

source_group("Resources" FILES

${QRCs}

${EXE_ICON} # Not present

)

source_group("Generated" FILES

${QRC_Srcs}

${QRC_Srcs}

)

add_executable(bnAiClient  MACOSX_BUNDLE

${Srcs} ${Hdrs}  ${MOC_Hdrs} ${QRC_Srcs})

target_link_libraries(bnAiClient

${QT_LIBRARIES}

${VTK_LIBRARIES}

${ITK_LIBRARIES}

)

endif()

更多Qt 模块

SET(QT_USE_QTOPENGL TRUE)

其它较常用的模块包括:

QT_USE_QTNETWORK

QT_USE_QTOPENGL

QT_USE_QTSQL

QT_USE_QTXML

QT_USE_QTSVG

QT_USE_QTTEST

QT_USE_QTDBUS

QT_USE_QTSCRIPT

QT_USE_QTWEBKIT

QT_USE_QTXMLPATTERNS

QT_USE_PHONON

此外,还有其它的宏可以用,具体地可参见cmake/share/Modules/FindQt4.cmake

参考:https://www.cnblogs.com/findumars/p/5641859.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39977934/article/details/113380321

智能推荐

驾校计算机网络管理员,驾校管理系统(计算机数据库课程设计)_北电追梦者的博客-程序员秘密

1、开发背景随着高校学生规模不断的扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,需要相应的管理系统来提高学生管理工作的效率,做到信息的规范管理、科学统计和快速查询,以减少管理方面的工作量。本课题拟开发适合学院实际的高校学生信息管理系统。2、功能描述根据需求分析,本管理系统的设计及功能描述如下:(1)汽车管理:(2)学员管理:(3)职工管理:(4)缴费管理:(5)学员学习...

鱼与熊掌兼得:ERP数据的单变量统计数据的灵活性和效力_ica处理后 使用erplab8.3 单试次分析_思影科技的博客-程序员秘密

ERP研究产生了大量的时空数据集。这些丰富的数据集是帮助我们理解认知和神经过程的关键。然而,它们也存在大量的多重比较问题,可能导致大量具有假阳性效应(effect)的研究(高I型错误率)。ERP统计分析的标准方法是对时间窗和感兴趣区域的平均,但这并不总是能控制第一类错误,它们的不灵活性可能导致检测真实效应的效力(统计效力,power,以下全部成为效力)较低。单变量方法提供了另一种分析方法。然而,迄今为止,它们被认为主要适用于探索性统计分析,只适用于简单的设计。在这里,我们提出了新的模拟研究,表明基于置换(p

apue.h及编程环境配置_haoshenwang的博客-程序员秘密

apue全称指的是Advanced Programming in the UNIX Environment,即由超级大神W.Richard Stevens 写的unix环境高级编程。这本书可以算的上是unix环境编程的圣经,小弟不才,将一些学习经验分享,大家就仁者见仁智者见智吧。由于书中的示例包含的文件很多,而版面有限,那么就来看看作者自己编写的头文件吧。这个头文件主要包含了经常要用到的头文件

NetCore发布WebApi项目到IIS服务器中_weixin_33912246的博客-程序员秘密

1、确保已在机器上安装Net Core Runtime,,下载地址: https://dotnet.microsoft.com/download2、点击WebApi项目右键->发布,选择IIS为发布目标,点击发布;3、选择文件系统,指定发布路径选择release配置,框架对应项目使用框架,然后保存确定4打开IIS服务器,添加网站,物理路径选择...

POI生成Excel表格,导出没有问题,打开时遇到错误_weixin_30780649的博客-程序员秘密

  ××项目一共有3个人开发,一期已经完成了,另外两个人去负责其它项目了,老大让我继续负责这个项目,休bug和二期的需求实现。  今天下午需求是要去给客户演示项目的,but,还有个bug没有改,oh my god. 心里急啊。  导出Excel表格没有问题,全部导出可以打开,但条件过滤后怎么也打不开,显示:    后台也没有报错,debug调试几遍也没问题。这代码是同事写的,我只...

随便推点

Javascript跳转页面和打开新窗口等方法_js打开一个window并传递cookie_dingdongkk的博客-程序员秘密

1.在原来的窗体中直接跳转用onClick="window.location.href='你所要跳转的页面';"2、在新窗体中打开页面用:onclick="window.open('你所要跳转的页面')"3、返回上一页 ( 本地测试无效,服务器上可用)window.history.back(-1);JavaScript:history.back(1)

3个月时间,5名黑客找出苹果55个漏洞,赚了5万多美元,还写了篇博客记录全程_BigDataDigest的博客-程序员秘密

大数据文摘出品作者:刘俊寰、朱科锦、lin昨天,翘首期待的iPhone12终于面世,不管是回归经典方框设计,还是首次推出小屏mini版,都让苹果玩家大呼过瘾。不过,在今年这场别开生面的发布会之前,以安全著称的苹果却忽然被曝出55个漏洞。想要剁手的朋友们尽管放宽心,因为这些漏洞已经被5名黑客报给了苹果,还因此小赚一笔,获得了5万美金的奖励。事情是这样的,苹果一直有对漏洞报告者进行资金奖励的传统,并且给这个项目取了个酷炫的名字——Apple Bug赏金计划。今年7...

spark读取hbase表数据到elasticsearch_spark实时从hbase写入es_彭三年的博客-程序员秘密

代码package com.zhonghong.mission.hbasetoesimport java.text.SimpleDateFormatimport java.util.Dateimport com.alibaba.fastjson.JSONObjectimport org.apache.commons.lang.StringUtilsimport org.apache.hadoop.conf.Configurationimport org.apache.hadoop.hbas

在Jenkins中配置执行远程shell命令(转)_weixin_33895657的博客-程序员秘密

用过Jenkins的都知道,在Build配置那里有1个Add buld step, 有这样两个选项:1. Execute Windows batch command2. Execute shell第1个是履行windows命令,第2个是履行shell脚本。开始我以为不管jenkins安装在windows下还是linux下都可以履行windows命令和linux命令,但是后来我发...

java本地缓存和redis,重要概念一网打尽!_java内存缓存与redis_前端陈萨龙的博客-程序员秘密

Kafka 如何做到支持百万级 TPS ?先用一张思维导图直接告诉你答案:顺序读写磁盘生产者写入数据和消费者读取数据都是顺序读写的,先来一张图直观感受一下顺序读写和随机读写的速度:从图中可以看出传统硬盘或者SSD的顺序读写甚至超过了内存的随机读写,当然与内存的顺序读写对比差距还是很大。所以Kafka选择顺序读写磁盘也不足为奇了。下面以传统机械磁盘为例详细介绍一下什么是顺序读写和随机读写。盘片和盘面:一块硬盘一般有多块盘片,盘片分为上下两面,其中有效面称为盘面,一般上下都有效,也就是说:盘面

Altium Designer 18 速成实战 第四部分 PCB库的设计(二)2D标准封装创建_ad中2d模型怎么建立_Sumjess的博客-程序员秘密

Altium Designer 18 速成实战 第四部分 PCB库的设计(二)2D标准封装创建目录一、新建PCB元件库:二、向导法创建封装:1、向导法创建DIP40(89C51):2、PCB封装的组成元素:1脚标示、阻焊、PCB焊盘、管脚序号、丝印。三、手工法创建封装:1、新建器件的PCB封装:2、放置焊盘:3、修改焊盘属性:4、特殊粘贴:5、绘制丝印层...

推荐文章

热门文章

相关标签