`
onmyway_1985
  • 浏览: 33056 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

qt编译multiple definition of错误

 
阅读更多

学习QT编程,编译时出现multiple definition of错误,

  4 people::people()
  5 {
  6     connect(this, SIGNAL(sig1()), this, SLOT(slo1()));
  7 }
  8
  9 people::~people()
 10 {}
 11 /*
 12 void people::sig1()
 13 {                                                                          
 14     printf("in sig.\n");
 15 }
 16 */
 17 void people::slo1()
 18 {
 19     printf("in slo.\n");
 20 }

原来,QT预处理工具会将people.cpp中宏展开为moc_people.cpp,moc_people.cpp中包含了

101 void people::sig1()
102 {
103     printf("in sig1.\n");
104     QMetaObject::activate(this, &staticMetaObject, 0, 0);
105 }

 

具体宏是怎么处理的,下面继续学习。

分享到:
评论

相关推荐

    文件编译时出现multiple definition of 'xxxxxx'的具体解决方法

    以下是对文件编译时出现multiple definition of 'xxxxxx'的解决方法进行了详细的分析介绍,如也遇到此问题的朋友们可以过来参考下

    OSG+Qt编译说明

    ### OSG+Qt编译说明详解 #### 一、前言 本文旨在详细介绍如何通过CMake工具配合Visual Studio 2013来编译OpenSceneGraph(OSG)与Qt集成项目的过程。此过程适用于希望将OSG与Qt集成开发三维图形应用的开发者。 ###...

    Qt编译Geos库

    - 由于Geos库中的头文件采用`<>`而非`""`引入方式,因此必须将其放置于Qt的`include`目录下,以避免编译时出现找不到文件的错误。 7. **配置Qt项目**: - 新建一个Qt项目,并将编译好的Geos库的`lib`文件夹复制到...

    Qt编译MySQL驱动

    在本文中,我们将深入探讨如何在Qt环境中编译MySQL驱动,以便在Qt应用程序中与MySQL数据库进行交互。首先,我们要明确的是,这个过程通常适用于Qt 5.2及其更高版本,因为这是支持编译MySQL驱动的最低要求。在这个...

    Ubuntu下Yocto搭建QT编译环境源文件

    Ubuntu下Yocto搭建QT编译环境源文件

    支持Qt编译的mupdf动态库

    本文将深入探讨如何将mupdf与Qt框架集成,特别关注如何在Visual Studio环境下编译生成支持Qt5的动态库,适用于x86和x64系统。mupdf是一个轻量级的PDF阅读器库,而Qt则是一个广泛使用的C++图形用户界面应用程序开发...

    减少Qt编译时间暨简单Qt裁剪.doc

    自定义`qconfig`时,确保文件放置正确且参数与文件名匹配,因为某些Qt版本可能存在不检查配置文件存在的问题,导致编译错误。 理解Qt特性之间的依赖关系也是裁剪的关键。`src/corelib/global/qfeatures.h`和`src/...

    windows下qt编译mysql驱动用到的include和lib

    在Windows环境下,使用...在实际操作中,可能还会遇到各种问题,如编译错误、找不到库文件等,这需要根据错误信息进行排查和解决。确保所有步骤都按照正确顺序执行,并且路径和库文件匹配无误,才能顺利完成编译工作。

    Ubuntu下Qt静态编译以及使用

    ### Ubuntu 下 Qt 静态编译及使用详解 #### 一、引言 在开发跨平台的应用程序时,Qt 是一个非常强大的选择。对于希望将应用程序发布到多个 Linux 发行版上的开发者而言,静态编译 Qt 可以极大地简化部署流程。本文...

    Qt 5.7.0 静态编译库(不含qtwebengine、qtwebview、qt3d),亲测可用

    刁肥宅自己编译的Qt 5.7.0的静态编译库,亲测用这个库编译的exe程序,不需要任何dll和其他附加文件便可以在不带Qt环境的电脑上运行。

    【QT】 1. 建立QT编译环境

    在实际开发中,你可能会遇到一些问题,例如依赖库的缺失、编译错误或兼容性问题。这时,查阅QT的官方文档、社区论坛(如iteye、Stack Overflow)或QT博客(如给定的链接)会非常有帮助。记得保持QT和相关工具的更新...

    QT5编译freetype生成静态以及动态库源码,Linux及Windows都可编译

    在QT5中编译并使用freetype,可以极大地扩展QT应用的字体处理能力,特别是在需要自定义字体或特殊字符处理时。 在Linux和Windows上编译freetype涉及以下步骤: 1. **获取源码**:首先,你需要从freetype官方网站...

    Qt6.22 Mingw64静态编译

    静态编译意味着在编译应用程序时,将所有依赖的库(如Qt库)合并到最终的可执行文件中,这样生成的程序在运行时不再需要外部的动态链接库(DLLs)。这对于那些需要分发或在不可预知环境运行的应用程序来说非常有用,...

    ubuntu 上 qt静态编译版本制作

    ### Ubuntu上Qt静态编译版本制作详解 #### 概述 在进行跨平台软件开发时,经常遇到的一个问题是,如何让编译好的程序能够在没有安装Qt的机器上直接运行,而不依赖于Qt的相关动态库(如.so文件)。解决这一问题的...

    Qt Mysql linux驱动编译.docx

    这个错误表明Qt无法找到对应的MySQL驱动,即libqsqlmysql.so,这通常是因为在Linux环境中,只预装了SQLite驱动,而MySQL驱动需要单独编译。下面我们将详细讲解如何在Linux系统中编译Qt的MySQL驱动。 首先,你需要...

    嵌入式qt库编译文档

    ### 嵌入式Qt库编译指南 #### 概述 本文档旨在为嵌入式开发者提供一个详细的Qt库编译与移植流程。通过遵循本文档中的步骤,您将能够顺利地完成针对特定硬件平台(例如OMAP3517)的Qt库编译工作。这对于希望利用Qt...

    QT6源码编译所需要的工具

    QT6源码编译是一个复杂的过程,...然而,这个过程需要一定的耐心和对编译过程的理解,因为可能会遇到各种依赖问题或配置错误,解决这些问题需要一定的调试技巧。记得查阅QT官方文档和社区资源以获取更详细的帮助信息。

    android Qt 编译

    本文将详细介绍Qt for Android的编译过程以及如何将项目打包成APK。 首先,确保你已经安装了以下必要组件: 1. **Java Development Kit (JDK)**:Qt for Android需要JDK来编译和运行应用程序。请确保安装了JDK 8或...

    QT 编译成exe文件如何打包 如何包含依赖的dll,图文并茂手把手教你

    在使用QT创建应用程序时,我们通常会在Qt Creator这个集成开发环境中编写代码,然后编译生成可执行文件(exe)。然而,生成的exe文件并不能在所有计算机上直接运行,因为它依赖于许多Qt库的动态链接库(dll)文件。 ...

    redhat中Qt编译

    redhat中Qt的正确编译方法,同时还给出了qt编译过程中出现的错误及解决方法

Global site tag (gtag.js) - Google Analytics