cmake+qt+qtcreator的配置,解决Q_OBJECT的问题
1.如果在编译qt项目的时候,一般头文件里都有Q_OBJECT,但是用cmake来编译的时候,就会报错,那么怎么解决呢?
解决的办法就是要在cmake里面写好配置 命令,再编译的时候,就不会报错了,写法如下:
project(cmakeandqt)
cmake_minimum_required(VERSION 2.8)
#add qt
FIND_PACKAGE(Qt4 REQUIRED)
set(QT_USE_QTMAIN TRUE)
INCLUDE(${QT_USE_FILE})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
#
#add src
set(cmakeandqt_SRC main.cpp classwizard.cpp Wizard.cpp)
#
#due to the MinGW
#if(MINGW)
# set(CMAKE_RC_COMPILER_INIT windres)
# ENABLE_LANGUAGE(RC)
# set(CMAKE_RC_COMPILE_OBJECT
# "<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>")
#endif(MINGW)
#
#对于含有Q_OBJECT一类宏的代码(主要是头文件),需要列出以备交给moc处理
#注意虽然这个命令叫wrap cpp,但实际一般处理的是含有Q_OBJECT代码的头文件
qt4_wrap_cpp(cmakeandqt_MOC classwizard.h Wizard.h)
#
#资源文件,如果有的话
set(cmakeandqt_RESOURCES classwizard.qrc)
#添加资源文件rcc文件
qt4_add_resources(cmakeandqt_RCC ${cmakeandqt_RESOURCES})
#也可以这样直接添加
#qt4_add_resources(cmakeandqt_RCC classwizard.qrc)
#
#ui file
#set(cmakeandqt_UI calculatorform.ui)
#.ui文件需要由uic处理
#qt4_wrap_ui(cmakeandqt_UIC ${cmakeandqt_UI})
#这里出来界面的三大文件,分别为ui,rcc资源文件 和 需要moc处理的文件
#add_executable(${PROJECT_NAME} ${cmakeandqt_SRC} ${cmakeandqt_MOC} ${cmakeandqt_RCC} ${cmakeandqt_UIC})
add_executable(${PROJECT_NAME} ${cmakeandqt_SRC} ${cmakeandqt_MOC} ${cmakeandqt_RCC})
#ADD lib
target_link_libraries(cmakeandqt ${QT_LIBRARIES})
#add debug
set(CMAKE_BUILD_TYPE Debug)
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
cmake+qt+qtcreator的配置,解决Q_OBJECT的问题的更多相关文章
- Mac下QT错误,Xcode配置解决办法
出现错误: Xcode not set up properly. You may need to confirm the license agreement by running / 解决办法如下: ...
- Qt Creator的安装与Qt交叉编译的配置
Qt Creator 的安装 到Qt官网下载Qt Creator https://www.qt.io/download-open-source/ 其它旧版本点击Achieve连接下载 或登录http ...
- QT+VS2013 1配置和安装
相关参考:http://www.cnblogs.com/ranjiewen/p/5318768.html 1下载 VS2013 微软官网查找 https://www.visualstudio.com ...
- QT5.7静态编译(使用VS2013与VS2015编译,XP可用,有详细configure脚本。VS下Qt插件的配置。编译选项加上-mp可以开启多线程编译,编译速度提高2倍以上)
http://blog.csdn.net/u011964923/article/details/52886908 configure -confirm-license -opensource -pla ...
- 解决IE下载 apk/ipa 变成zip:Android 手机应用程序文件下载服务器 配置解决方法
解决IE apk/ipa变成zip:Android 手机应用程序文件下载服务器 配置解决方法 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Da ...
- QT win 安装配置
QT windows 版安装配置 安装包:链接:https://pan.baidu.com/s/1LCj2V3xQ1wB9_7zmE5tV6Q 密码:bn9r 首先安装QT Creator 双击安装文 ...
- windows下mysql中文乱码, 配置解决方法
内容源自:windows下mysql中文乱码, 配置解决方法 解决方法:打开mysql安装目录,打开my.ini文件(如果只有my-default.ini文件,先将其改名为my.ini!!!) 修改内 ...
- Qt之pro配置多个子工程/子模块
简述 进行Qt项目开发的时候,尤其是大型项目,经常涉及多工程/多模块问题,其主要思想还是模块化,目的是为了降低程序复杂度,使程序设计.调试和维护等操作简单化. 简述 配置 效果 多工程 多模块 更多参 ...
- (转)plsql11 x64 安装和配置 解决OCI: not initialized
跟帖子一样,安装了pl/sql ,设置了oci.dll 以及 TNS_ADMIN,加入path后不能显示数据库连接. 安装 microsoft visual c++ redistributable 2 ...
随机推荐
- Web软件开发工具WebBuilder试用手记
最近公司在使用WebBuilder做项目开发,感觉很不错. 官方主页在这里:http://www.putdb.com/ 可以看到,这货不仅能使用可视化的方式拖拽出界面,还能直接在页面上完成数据库相关的 ...
- MSSQL Rebuild(重建)索引
MSSQL Rebuild(重建)索引 前的项目是做数据库的归档,在每次archive后都需要对原数据库的索引进行rebuild,以减少索引碎片,于是乎就自己写了一段sql: DECLARE @tab ...
- php 数组合并方法
$new = array(); if ($relateddepartmentsnew) { foreach ($relateddepartmentsnew as $relatK=>$relatV ...
- 终于说再见了!Google Reader
终于说再见了!Google Reader 投递人 itwriter 发布于 2013-07-02 13:28 评论(5) 有760人阅读 原文链接 [收藏] « » 今天 15:00 左右,Go ...
- Android中ListView下拉刷新的实现
ListView中的下拉刷新是非常常见的,也是经常使用的,看到有很多同学想要,那我就整理一下,供大家参考.那我就不解释,直接上代码了. 这里需要自己重写一下ListView,重写代码如下: packa ...
- Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库
Ajax实现将xml文件数据插入数据库的过程所涉及到的内容比较多,所以对于该过程的讲解本人打算根据交互的过程将其分为三个部分,第一部分为构建解析xml文件的javascript库,第二部分为ajax与 ...
- 关于ASP.NET WebAPI中HTTP模型的相关思考
对于.NET的分布式应用开发,可以供我们选择的技术和框架比较多,例如webservice,.net remoting,MSMQ,WCF等等技术.对于这些技术很多人都不会陌生,即时没有深入的了解,但是肯 ...
- linux基础命令大全
编辑器 ed vi/vim (交互式) sed (非交互) vi/vim 的使用 1.命令模式 移动光标 方向键 hjkl H L M G 1G nG 复制行 yy nyy 粘贴 p 删除行 dd n ...
- ARCH-LINUX 折(安)腾(装)记
2016-08-09 前几天装的manjaro一直卡住,今天想换archlinux.... 先联个网.....wifi-menu 写入U盘 tuna 下载了ISO UltraISO 写进U盘,结果出问 ...
- 开子线程下载图片,回到主线程刷新UI步骤
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { [NSThread detachN ...