zoukankan      html  css  js  c++  java
  • 解决 MinGW5.14 编译 QT4.4.3 报错的问题

    在使用 MinGW5.14 编译 QT4.4.3 时,编译一开始就会报函数原型定义冲突的错误,这是因为 MinGW 的 w32api 包中的 "include/winbase.h" 文件与 QT 中的声明不一致。解决方法如下:
    打开 $(QTDIR)/src/corelib/arch/qatomic_windows.h,找到其中的

    extern "C" {
        __declspec(dllimport) long __stdcall InterlockedCompareExchange(long *, long, long);
        __declspec(dllimport) long __stdcall InterlockedIncrement(long *);
        __declspec(dllimport) long __stdcall InterlockedDecrement(long *);
        __declspec(dllimport) long __stdcall InterlockedExchange(long *, long);
        __declspec(dllimport) long __stdcall InterlockedExchangeAdd(long *, long);
    }

    在这段代码前后分别加上预编译条件
    #ifndef __INTERLOCKED_DECLARED
    #define __INTERLOCKED_DECLARED

    #endif

    参见 QT4.5.1 的源代码就是这样解决的。
  • 相关阅读:
    vue父子组件传值的方式
    定时任务写法
    仅仅为笔记
    consul剔除某个服务
    mybatis批量查询
    一次eureka的事故
    feign的工作原理
    JVM优化
    threadlocal应用
    秋招总结
  • 原文地址:https://www.cnblogs.com/christopher/p/1504177.html
Copyright © 2011-2022 走看看