zoukankan      html  css  js  c++  java
  • 关于在vs2010中编译Qt项目时出现“无法解析的外部命令”的错误

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

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

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

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

    具体如下:

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

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

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

    附加依赖项:$(QTDIR)inmoc.exe;%(FullPath)

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

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

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

    XX.ui文件生成ui_XX.h:

    当前路径命令行输入uic XX.ui -o ui_XX.h

    种树最好的时间是十年前,其次是现在。
  • 相关阅读:
    TCP/IP
    logging模块
    HttpClient当HTTP连接的时候出现大量CLOSE_WAIT连接(转)
    三 os模块
    一 time与datetime模块
    (转)HTTPS到底是个啥玩意儿?
    Python
    Codeforces Round #374 (Div. 2)
    Codeforces Round #373 (Div. 2)
    bzoj3527: [Zjoi2014]力
  • 原文地址:https://www.cnblogs.com/bobojiang/p/5525741.html
Copyright © 2011-2022 走看看