【问题标题】:Missing lib file when building QwtPlot3d with Qt 5.1.1使用 Qt 5.1.1 构建 QwtPlot3d 时缺少 lib 文件
【发布时间】:2013-11-14 07:29:37
【问题描述】:

我正在尝试使用 Qt 5.1.1 构建 qwtplot3d library。一切似乎都很好,它生成了 .dll 文件,但我找不到必须生成的 .lib 文件。我已经从主干中提取了源代码,但它似乎不是用 Qt5 构建的(可能是用 Qt4 构建的)。可能这是一个 QT5 移植问题,但我无法解决。

你有什么想法吗?

【问题讨论】:

    标签: c++ windows qt qt5.1


    【解决方案1】:

    问题在于 qwt3d_global.h 中定义的预处理器定义。这是我克服这个问题的一些解决方案。

    替换下面的行,QT5不再使用Q_WS_WIN,所以用Q_OS_WIN预处理器定义替换它。

    #if defined(Q_WS_WIN) 
    with
    #if defined(Q_OS_WIN)
    

    然后, 添加以下代码行以导出丢失的库,当前定义未使用但它们仍在此文件中,我不知道为什么。

    #if defined(QWT3D_EXPORT_DLL)
    #  define QWT3D_EXPORT Q_DECL_EXPORT
    #else
    #  define QWT3D_EXPORT Q_DECL_IMPORT
    #endif
    

    对了,别忘了将QWT3D_EXPORT_DLL定义添加到VS设置中的预处理器定义中,或者在别的地方定义

    或者只是将 QWT3D_DLL、QWT3D_MAKEDLL 定义添加到预处理器定义中,或者在其他地方定义它们;否则根本无法生成lib文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多