关于在vs2010中编译Qt项目时出现“无法解析的外部命令”的错误

用Cmake讲Qt、VTK和ITK整合后,打开解决方案后添加新类时运行会出现“n个无法解析的外部命令”的错误。

原因是新建的类未能生成moc文件,解决办法是:

1.右键 要生成moc文件的.h文件,打开属性->常规->项类型改为自定义生成工具。

2.在新生成的选项中,填上相关内容:

具体如下:

命令行:"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"

说明:Moc%27ing ImageViewer.h...       //.h文件填要编译的。

输出:.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp

附加依赖项:$(QTDIR)\bin\moc.exe;%(FullPath)

3.此时右键 .h文件编译,即可在GeneratedFiles\debug文件夹下生成moc文件,拖入Grenerated目录下,即可。

关于moc文件,查看:qt中moc的作用

简单来说:moc是QT的预编译器,用来处理代码中的slot,signal,emit,Q_OBJECT等。
moc文件是对应的处理代码,也就是Q_OBJECT宏的实现部分。

时间: 2024-10-18 23:56:08

关于在vs2010中编译Qt项目时出现“无法解析的外部命令”的错误的相关文章

在vs2010中编译log4cxx-0.10.0详细方法(从下载、编译、解决错误详细介绍)(转载)

本文一共包含了17个步骤,按照下面的步骤就可以完成vs2010中编译log4cxx的工作了. 1. 下载 log4cxx 以及 apr 和 apr-util 源码: a) http://www.apache.org/dyn/closer.cgi/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.zip b) http://archive.apache.org/dist/apr/apr-1.2.11-win32-src.zip c) http://archi

在Eclipse中编译maven项目出的问题

在Eclipse中编译Maven项目,运行 jetty:run 指令的时候会出错,在 JRE选项卡中加入: -Dorg.mortbay.util.URI.charset=GBK-Xms512m -Xmx512m-XX:PermSize=128M 就没事了

在vs2010中编译log4cxx-0.10.0详细方法

本文一共包含了17个步骤,按照下面的步骤就可以完成vs2010中编译log4cxx的工作了. 1. 下载 log4cxx 以及 apr 和 apr-util 源码: a) http://www.apache.org/dyn/closer.cgi/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.zip b) http://archive.apache.org/dist/apr/apr-1.2.11-win32-src.zip c) http://archi

Eclipse编译Android项目时出现的问题:Android requires compiler compliance level 5.0 or 6.0. Found '1.8' instead.

Consle: Android requires compiler compliance level 5.0 or 6.0. Found '1.8' instead. Please use Android Tools > Fix Project Properties. 然而,按照提示的方法,右键项目->Android Tools->Fix Project Properties时,发现并没有卵用... 我的解决方式是: 右键项目->Properties,把 JavaCompiler

MyEclipse加载项目时 出现"building workspace has encountered a problem"错误

当MyEclipse加载项目时 出现"building workspace has encountered a problem"错误,这是重新编译时出错, ① 根据MyEclipse菜单栏的Project->propertise(当有项目运行或是加载时Propertise为灰色,不可用)->Builders->不要选中JavaScript Validator(把前面的勾去掉). ② 或是重新换一个命名空间(workspace). 2.当MyEclipse在运行程序时弹

添加QScintilla时显示无法解析的外部函数

转载请注明出处:http://www.cnblogs.com/dachen408/p/7147165.html 问题:添加QScintilla时显示无法解析的外部函数 解决方案:去掉头文件qsciscintilla.h的Q_OBJECT,编译后再重新添加编译

Ubuntu Linux14 64位下在Android studio下用gradle编译Andrid项目时发生libz.so.1共享库找不到的解决方法。

---恢复内容开始--- 我在Ubuntu14 64为下安装了AS,但在用Gradle编译项目时总是报找不到 libz.so.1的错误. error while loading shared librarieserror while loading shared libraries: : libz.so.1libz.so.1: : cannot open shared object filecannot open shared object file: : No such file or dir

用VC++11中编译libthrift项目

thrift是一个远程过程调用框架,最早是Facebook开发的成果,Facebook后来贡献给Apache成了一个开源项目.他的主页是http://thrift.apache.org/,在这个网站上我们可以下载项目源文件,入门指南等等. thrift是一个开源项目,官方提供了所有源程序的下载,用户要使用thrift框架,还需要编译这套框架.thrift项目不是自包含的,thrift还引用了几个第三方库.所以编译框架的过程就多了些步聚,也增加了一些难度.熟练的程序员能比较容易地解决这些引用,刚入

java编译正常javac出错不是内部或外部命令

javac不是内部或外部命令 安装jdk版本jdk-8u111-windows-x64(jdk1.8.0_111) 配置环境: JAVA_HOME D:\xiazai\Java\jdk1.8.0_111:D:\xiazai\Java\jre1.8.0_111(jdk及jre的安装路径) path D:\xiazai\Java\jdk1.8.0_111:D:\xiazai\Java\jre1.8.0_111\bin:(jdk的bin路径及jre的bin路径) classpath .;%JAVA_H