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")
时间: 2024-10-03 22:26:06

cmake+qt+qtcreator的配置,解决Q_OBJECT的问题的相关文章

Mac下QT错误,Xcode配置解决办法

Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running / >= Xcode 8 In Xcode 8, as Bruce said, this happens when Qt tries to find xcrun when it should be looking for xcodebuild. Step 1: Open the file: Qt_in

Qt Creator的安装与Qt交叉编译的配置

Qt Creator 的安装 到Qt官网下载Qt Creator  https://www.qt.io/download-open-source/ 其它旧版本点击Achieve连接下载 或登录http://download.qt.io/下载 下载前记得查看自己的linux系统情况 uname-a 我的是 1. i386 适用于intel和AMD所有32位的cpu.以及via采用X86架构的32位的cpu. 2. X86_64 适用于intel的Core 2 Duo, Centrino Core

MRPT在 QT creater中配置

1. 下载mrpt https://github.com/jlblancoc/mrpt ps: qt creator 下配置   直接第三步 2. 编译mrpt 查看编译教程:  http://www.mrpt.org/Building_and_Installing_Instructions 2.1 装好依赖库 $ sudo apt-get install build-essential pkg-config cmake libwxgtk2.8-dev libftdi-dev freeglut3

Java环境变量配置&amp;解决版本不一致问题

之前用Myeclipse编译运行Java没有问题 但是突然想用简单点的NotePad++以及cmd直接编译运行Java 这就让我倒腾了一晚上 先说下问题的解决,再总结下查阅的一些知识. 1.进行win8下Java环境变量配置,在"系统变量"下进行如下配置: (1)新建->变量名:JAVA_HOME变量值:C:\Program Files\Java\jdk1.8.0_05(这只是我的JDK安装路径) (2)编辑->变量名:Path在变量值的后面加上:;%JAVA_HOME%\

解决IE下载 apk变成zip:Android 手机应用程序文件下载服务器 配置解决方法

解决IE apk变成zip:Android 手机应用程序文件下载服务器 配置解决方法 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码. 由于APK文件本身就是压缩包,如果用户的电脑上装了WinRAR(85%的装机量),用IE下载APK文件,扩展名就会被自动改为“.zip”. 如果你的下载服务器为Nginx服务器

Windows 8 Cython 的配置(解决Unable to find vcvarsall.bat问题)

关键是安装之前配置编译器. 1.下载MinGW 编译器 http://www.mingw.org/download.shtml 2.把编译器路径(例如C:\Program Files (x86)\CodeBlocks\MinGW\bin)加入环境变量列表 3.Python路径(例如C:\Python34\Lib\distutils)里面新建一个distutils.cfg文件,内容为以下两行: [build] compiler = mingw32 4.安装Cython.比如通过pip instal

windows下mysql中文乱码, 配置解决方法

内容源自:windows下mysql中文乱码, 配置解决方法 解决方法:打开mysql安装目录,打开my.ini文件(如果只有my-default.ini文件,先将其改名为my.ini!!!) 修改内里配置: [mysqld] character-set-server=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8 如图: 修改完成后重启MySQL服务:(右键重新启动) 完成: 原文地址:ht

QT win 安装配置

QT windows 版安装配置 安装包:链接:https://pan.baidu.com/s/1LCj2V3xQ1wB9_7zmE5tV6Q 密码:bn9r 首先安装QT Creator 双击安装文件("qt-creator-windows-opensource-2.8.0.exe") 源码的安装 步骤如下: 双击安装文件("qt-win-opensource-4.8.5-mingw.exe") 安装到此步骤后,设置MinGW的安装界面把MinGW-gcc440_

springmvc:配置解决中文乱码的过滤器

在web.xml中配置以下内容: <!--配置解决中文乱码过滤器--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <!--初始化参数--> <init-param> &