• Solved: Qt Library LNK 2001 staticMetaObject error


          在链接Qt的库,比如QtGui4.lib,我这里是在链接QtSolutions_PropertyBrowser-head.lib的时候出现的链接错误。大概是说一个“XXXX::staticMetaObject”的函数找不到定义。解决办法是,在include该Qt库的头文件时定义“__declspec(dllimport)”,对于QtSolutions_PropertyBrowser-head库,在其头文件qtpropertybrowser.h中有:

    #if defined(Q_OS_WIN)
    #  if !defined(QT_QTPROPERTYBROWSER_EXPORT) && !defined(QT_QTPROPERTYBROWSER_IMPORT)
    #    define QT_QTPROPERTYBROWSER_EXPORT
    #  elif defined(QT_QTPROPERTYBROWSER_IMPORT)
    #    if defined(QT_QTPROPERTYBROWSER_EXPORT)
    #      undef QT_QTPROPERTYBROWSER_EXPORT
    #    endif
    #    define QT_QTPROPERTYBROWSER_EXPORT __declspec(dllimport)
    #  elif defined(QT_QTPROPERTYBROWSER_EXPORT)
    #    undef QT_QTPROPERTYBROWSER_EXPORT
    #    define QT_QTPROPERTYBROWSER_EXPORT __declspec(dllexport)
    #  endif
    #else
    #  define QT_QTPROPERTYBROWSER_EXPORT
    #endif

     

          也就是在链接QtSolutions_PropertyBrowser-head库时只要定义了QT_QTPROPERTYBROWSER_IMPORT宏即可。我在Makefile的CPPFLAGS(使用的是VS2010编译器)加入了-DQT_QTPROPERTYBROWSER_IMPORT,编译通过。

  • 相关阅读:
    使用Ant自动化发布web工程
    分页过滤SQL求总条数SQL正则
    Spark-Java版本WordCount示例
    Apache-Tika解析Word文档
    Apache-Tika解析JPEG文档
    Apache-Tika解析HTML文档
    Apache-Tika解析XML文档
    Apache-Tika解析Excell文档
    @RestController注解的使用
    @ResponseBody注解的使用
  • 原文地址:https://www.cnblogs.com/codingmylife/p/3146133.html
Copyright © 2020-2023  润新知