手动生成moc文件

在VS中写Qt项目时,手动添加了一个类,由于要用到信号槽,所以需要生成相应的moc文件。写好信号槽以后,在类里面第一行应该写上Q_OBJECT关键字,编译项目会提示无法找到moc_XXX.cpp文件。这就需要手动生成一下对应的moc文件,方法有两个:

1、利用VS生成(我用的VS2013,其他应该类似)。

在头文件上右键--属性。如下图进行设置:

然后,在头文件上右键--编译,即可在头文件同目录下找到moc_你的文件名.cpp,将其剪切到GeneratedFiles/Debug下即可,如果你是用Release模式运行程序,就放到GeneratedFiles/Debug下。

2、用命令行生成moc文件

在头文件的目录下,空白处 Shift+右键--在此处打开命令行窗口,如下图执行命令:

就会在当前目录下生成相应的moc文件,将其剪切到GeneratedFiles/Debug下即可。

其实第一种方法的本质就是用命令行生成的moc文件。

时间: 2024-08-27 12:59:51

手动生成moc文件的相关文章

解决VS+Qt不生成moc文件问题

使用VS的Qt插件进行Qt开发时,有时候会遇到不能生成moc文件的问题. 1.在工程中可以看到这个Generated files目录下是有一个看似moc文件的文件,双击打开的话: 如果能正常打开,文件就能正常使用. 2.选中没有生成moc文件的头文件,鼠标右键选择属性 3.General->ItemType这行属性 更改为  Custom Build Tool 应用!!! 然后会出现如下目录. 填写命令行内容即可.(内容可以参照你可以生成moc文件的路径) 主要是moc文件的生成路径等.

openssl passwd 手动生成密码

引言:在Linux系统中我们要向手动生成一个密码可以采用opensll passwd来生成一个密码作为用户账号的密码.Linux系统中的密码存放在/etc/shadow文件中,并且是以加密的方式存放的,根据加密方式的不同,所产生的加密后的密码的位数也不同. openssl passwd的作用是用来计算密码hash的,目的是为了防止密码以明文的形式出现. 语法格式: openssl passwd [option] passwd openssl passwd常用的选项如下: -1:表示采用的是MD5

Keil提示premature end of file错误 无法生成HEX文件

今天舍友在使用Keil UV4的时候遇到一个问题:Keil提示premature end of file,无法生成hex文件. 代码是没有错误的.那么问题就出在设置上面了. 百度了一圈,发现很少人解答这个问题.所以特意把自己的经验发上来供后来人参考. 解决办法: 1. 确保已经使用管理员身份运行Keil:同时,工程保存目录尽量不要有中文(不要放在桌面). 2.  生成的文件名不要手动加上.hex后缀[这是重点]. 解决步骤:Keil里依次点击Flash - Configure Flash Too

Python生成pyc文件

pyc文件是py文件编译后生成的字节码文件(byte code).pyc文件经过Python解释器最终会生成机器码运行 为什么要手动提前生成pyc文件呢,主要是不想把源代码暴露出来. python -m foo.py    #生成单个pyc文件

自动生成Makefile文件

主要的工具有autoscan, aclocal, autoheader, autoconfig,automake 1 .创建c源文件hello.c 1 #include <stdio.h> 2 3 int main(){ 4 return 0; 5 } 2.执行autoscan命令 这是目录下会多出configure.scan和autoscan.log文件,我们以configure.scan文件为模板进行修改,将configure.scan重命名改为configure.ac (好多博客写的是c

hibernate自动生成映射文件

映射文件是O/R Mapping的关键,相当于控制中心.当数据库表较多时,手动配置该映射文件非常耗时.为了快速开发程序,使开发人员的注意力集中到业务逻辑上来,Hibernate官方提供的MiddleGen工具,它可以很方便的生成映射文件.这里下载:http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc MiddleGen是根据数据库表来生成映射文件的,所以要与数据库进行配置.具体配置如下: [1]修改数据库配置文件

Android中如何提取和生成mp4文件

随着Android 4.4及以上版本的逐渐普及,Android 4.1引入的MediaExtractor类,以及Android 4.3引入的MediaMuxer类,终于可以开始正式地"发光发热"了. MediaMuxer类主要用于将音频和视频数据进行混合生成多媒体文件(如:mp4文件),而MediaExtractor则刚好相反,主要用于多媒体文件的音视频数据的分离. 本文将介绍如何利用Android SDK提供的MediaExtractor和MediaMuxer类来完成mp4文件的提取

[开源] android apk 一键生成混淆文件 脚本分享 (python)

今天做的项目有个需求.要把我们的apk 混淆一下. 于是花了一下午的时间研究了一下,用python 写了个一键生成的脚本. 原理: 我的开发环境是  adt bundle 是android sdk 的集成开发环境,自带了ProGuard. 只需要导出的时候,在project.properties 打开注释的代码. 然后选择 export 导出apk 就自动混淆了,ProGuard默认是混淆全部代码的,但是这样经常会引起一些问题. 重点是混淆规则的编写,.总结起来就三条: 1   android

生成dll文件的示例

看了好多网上写的关于dll文件生成和实用的资料发现多尔不全,都是抄来抄去,有的干脆就是搬用msdn上的原文,实在没有创意和可看的东西.于是本着学和实用的目的自己实践的东西分享给大家. 大前提:使用VS2010作为dll生成工具 概述:主要通过构建一个解决方案中的一个项目来演示如何定义和生成dll文件,在同一个方案中在创建一个项目主要用来进行生成dll的使用. 简易结构图: testdll(解决方案名) |--makedll(生成dll项目名) |--testdll(使用dll项目名) maked